2011-01-06 59 views
0

我正在使用TreeView篩選器選擇。WPF:突出顯示TreeView項目顯示上下文Meu

TreeView上的不同類別啓動不同的過濾器,可能需要長達3秒才能運行。

每個類別都有它自己的上下文菜單,其中u可以重命名,刪除等

我想讓它在哪一個項目,他的RightClicked用戶可見。在途中將選擇右側點擊事件的項目。但是這會導致菜單加載緩慢,因爲它運行相關的過濾器。

那麼,如何突出顯示上下文菜單顯示事件上的給定項?

感謝

回答

0

觸發綁定到上下文菜單的IsOpen屬性風格引領者。我得到這個使用一個DataTrigger在風格上類似這樣的項目工作:

<Style TargetType="{x:Type TreeViewItem}"> 
    <Style.Triggers> 
     <DataTrigger Binding="{Binding ContextMenu.IsOpen, RelativeSource={RelativeSource Self}}" Value="True"> 
      <Setter Property="Foreground" Value="Red"/> 
     </DataTrigger> 
    </Style.Triggers> 
</Style> 

很明顯,你可以選擇更合適的比打開文本顯示爲紅色(如可能使背景看起來都選擇)做一些事情,但是這總體思路。

+0

看起來,這將需要爲每個樹視圖項目單獨的ContextMenu實例,這可能不方便。 – 2011-01-06 23:16:18