我正在開發基於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