0

我正在使用 TreeView 进行过滤器选择。

TreeView 上的不同类别启动不同的过滤器,运行可能需要 3 秒。

每个类别都有自己的上下文菜单,您可以在其中重命名、删除等。

我想让用户看到他右键单击的项目。途中将选择右键单击事件中的项目。但这会导致菜单加载缓慢,因为它运行相关的过滤器。

那么,如何在上下文菜单显示事件中突出显示给定项目?

谢谢

4

1 回答 1

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>

显然,您可以选择比将文本变为红色更合适的操作(例如可能使背景看起来被选中),但这是一般的想法。

于 2011-01-06T19:47:22.997 回答