冒泡消息处理.

在一个TreeView, 我想让TreeViewItemMouseRightButtonDown事件里让这个TreeViewItemIsSelected属性设为true, 原始代码如下,

private void OnGetFoucus(object sender, RoutedEventArgs e)

{

    TreeViewItem smallTreeItem = sender as TreeViewItem;

    smallTreeItem.IsSelected = true;         

}

出问题, 做完消息响应后, 总是最顶端的treeViewItemIsSelectedtrue;

后把代码改成

private void OnGetFoucus(object sender, RoutedEventArgs e)

{

     TreeViewItem smallTreeItem = sender as TreeViewItem;

     smallTreeItem.IsSelected = true;

     e.Handled = true;

}
这个属于冒泡事件的典型, 如果e.Handled不等于True, 就会一直向上冒泡,所以需要会一直到顶.

原文地址:https://www.cnblogs.com/dunnice/p/640137.html