我正在开发基于TreeView
的控件,并且我的双击事件继续冒泡我的TreeViewItem
节点。处理的RoutedEvent继续冒泡树
目标是让TreeViewItem
在双击时展开或折叠。
我有一个风格,将MouseDoubleClick
事件的事件处理程序应用于每个TreeViewItem
。
下面是处理该事件
private void TreeViewItemDoubleClicked(object sender, RoutedEventArgs e)
{
// Get the specific tree view item that was double clicked
TreeViewItem treeViewItem = sender as TreeViewItem;
// not null?
if(null != treeViewItem)
{
// Switch expanded state
if(true == treeViewItem.IsExpanded)
{
treeViewItem.IsExpanded = false;
}
else
{
treeViewItem.IsExpanded = true;
}
// Set event handled
e.Handled = true; // [1]
}
}
也能正常工作的顶层TreeViewItem
然而,当一个孩子被双击,事件冒泡的树造成整个分支折叠代码。为什么事件继续冒泡?正如注意到[1]
我设置事件处理。
嗨,感谢您的反馈。我试过了,行为是一样的。事件继续发生。 – Matthew 2010-08-09 22:11:46