如何在WPF TreeView中拒绝“冒泡”选择?

时间:2011-01-26 09:19:52

标签: wpf events treeview treeviewitem

我有一个具有某种结构的分层TreeView对象:

  
      
  • 主要级别   
        
    • 第二级1
    •   
    • 第二级3
    •   
    • 第二级2
    •   
  •   

问题是:当我在第二级选择项目时,它会为主级别项目触发“已选择”事件。我怎么能否认呢?我尝试使用布尔标志和原始源属性的一些技巧,但我失败了。 e.Handled = true也不给我结果。

感谢您的任何建议,抱歉我的英语不好!

2 个答案:

答案 0 :(得分:0)

使用AddHandler添加的事件忽略e.Handled标志,这可能是你的情况。你能检查一下事件的Source是否等于OriginalSource吗?如果是,退出处理程序?

答案 1 :(得分:0)

我的代码中存在一些奇怪的问题。当我在我的应用程序中使用splashscreen时,主要级别的事件会触发。当我禁用启动画面时 - 它与之完美配合 e.Handled = true; 特技。

所以我在项目选择的evend处理程序的末尾调用第二个启动画面0毫秒,它可以工作。

谢谢大家。