2009-12-02 31 views
0

我有一個TreeViewItem,當Selected,calles一個方法。但是,我發現在調用Selected事件時,父母TreeViewItemSelected事件似乎也被調用。如何停止TreeViewItem爲其自身及其父級啓用Selected事件?

我真的寧願不發生,但我一直無法找到任何文件,告訴我爲什麼這首先發生。

有人能告訴我爲什麼會發生這種情況,也許如何阻止它。

我打開不同的對象而不是treeviewitem,但我需要保持選擇的可視化指示。

謝謝! PS:這是我所擁有的片段。

<TreeViewItem IsExpanded="True" IsSelected="False" Selected="Fire_MaxCustomer_Selected_Event"> 
         <TreeViewItem.Header> 
          <TextBlock Text="{Binding Path=DisplayName}" /> 
         </TreeViewItem.Header> 
         <TreeViewItem.Items> 
          <TreeViewItem Header="Orders &amp; Credits" Selected="Fire_Orders_Credits_Event" /> 

回答

0

根據您提供的內容,我無法選擇任何項目。你知道WPF的事件是路由嗎?選定的是Bubbling事件,它會觸發視覺樹並且可以被多次使用。您可以通過在事件處理程序中將e.Handled設置爲true來防止此問題。

+0

我知道這個事件正在被路由,並且它讓視覺樹變得很大。我不知道的是,我可以設置e.Handeled = true,那會......彈出泡泡..... – Russ 2009-12-02 14:34:05

相關問題