我正在使用 TreeView 进行过滤器选择。
TreeView 上的不同类别启动不同的过滤器,运行可能需要 3 秒。
每个类别都有自己的上下文菜单,您可以在其中重命名、删除等。
我想让用户看到他右键单击的项目。途中将选择右键单击事件中的项目。但这会导致菜单加载缓慢,因为它运行相关的过滤器。
那么,如何在上下文菜单显示事件中突出显示给定项目?
谢谢
我正在使用 TreeView 进行过滤器选择。
TreeView 上的不同类别启动不同的过滤器,运行可能需要 3 秒。
每个类别都有自己的上下文菜单,您可以在其中重命名、删除等。
我想让用户看到他右键单击的项目。途中将选择右键单击事件中的项目。但这会导致菜单加载缓慢,因为它运行相关的过滤器。
那么,如何在上下文菜单显示事件中突出显示给定项目?
谢谢
触发绑定到上下文菜单的 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>
显然,您可以选择比将文本变为红色更合适的操作(例如可能使背景看起来被选中),但这是一般的想法。