Öyle gibi TreeViewItem çift tıklama etkinliğini bastırmak olabilir:
xaml:
<TreeView DockPanel.Dock="Left" TreeViewItem.PreviewMouseDoubleClick="TreeViewItem_PreviewMouseDoubleClick">
<TreeViewItem Header="Node Level 1" IsExpanded="True" >
<TreeViewItem Header="Node Level 2.1" >
<TreeViewItem Header="MyItem" />
</TreeViewItem>
<TreeViewItem Header="Node Level 2.2">
<TreeViewItem Header="MyItem" />
</TreeViewItem>
</TreeViewItem>
</TreeView>
kodu:
private void TreeViewItem_PreviewMouseDoubleClick(object sender, MouseButtonEventArgs e)
{
//this will suppress the event that is causing the nodes to expand/contract
e.Handled = true;
}
GÜNCELLEME
msdn docs göre: Bu yönlendirilmiş olay bir eleman ağacının üzerinden bir tünel rotayı takip gibi görünse de
, aslında her UIElement tarafından eleman ağacı boyunca yükseltilir doğrudan yönlendirilir olaydır ... fare çift tıklamalarını yönetmek isteyen kontrol yazarları, ClickCount ikiye eşit olduğunda PreviewMouseLeftButtonDown olayını kullanmalıdır. Bu, öğesinin, iş parçacığının durumuna numaralı durumda doğru şekilde yayılmasına neden olur; bu durumda öğesindeki öğenin başka bir öğesi olayı işler.
emin değilim eğer bu sorunlarınız ya da değil, ancak onun yerine PreviewMouseLeftButtonDown
bunu MSDN şekilde yapmak ve kullanacağız neden:
xaml:
<TreeView DockPanel.Dock="Left" TreeViewItem.PreviewMouseLeftButtonDown="TreeView_PreviewMouseLeftButtonDown">
<TreeViewItem Header="Node Level 1" IsExpanded="True">
<TreeViewItem Header="Node Level 2.1" >
<TreeViewItem Header="MyItem" />
</TreeViewItem>
<TreeViewItem Header="Node Level 2.2">
<TreeViewItem Header="MyItem" />
</TreeViewItem>
</TreeViewItem>
</TreeView>
kodu:
private void TreeView_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (e.ClickCount > 1)
{
//here you would probably want to include code that is called by your
//mouse down event handler.
e.Handled = true;
}
}
bunu test ettik ve onu ben
tıklayın kaç kez olursa olsun çalışır
İlgili soru: http://stackoverflow.com/questions/6037042/disable-doubleclicks/6037293#6037293 – Matt