2011-01-06 96 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