【发布时间】:2011-03-03 02:21:37
【问题描述】:
一段时间以来,我一直遇到这个问题,并提出了一些不太理想的解决方案。问题是当 TreeViewItem 的上下文菜单打开时,TreeViewItem 是灰色的。 TreeViewItem 是否可以在其 ContextMenu 打开时保持突出显示?
TreeViewItem 变灰的问题是它与上下文菜单和 TreeViewItem 没有关系,而且看起来很丑。
通常,我用于设置上下文菜单的代码是这样的。有时上下文菜单会由带有 PreviewRightMouseButtonDown EventSetter 的代码生成,但这并没有什么区别:
<TreeView>
<TreeView.Resources>
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="ContextMenu">
<Setter.Value>
<ContextMenu>
<MenuItem Header="Menu Item 1" />
<MenuItem Header="Menu Item 2" />
</ContextMenu>
</Setter.Value>
</Setter>
</Style>
</TreeView.Resources>
<TreeViewItem Header="Item 1">
<TreeViewItem Header="Sub-Item 1"/>
</TreeViewItem>
<TreeViewItem Header="Item 2"></TreeViewItem>
</TreeView>
到目前为止,我发现的唯一解决方案是用聚焦颜色覆盖“灰色”未聚焦颜色,但 TreeView 似乎永远不会聚焦,例如单击另一个控件时。我也遇到过 ListViews 的问题。
【问题讨论】: