WPF:删除样式列表框中焦点项目周围的虚线边框
Posted
技术标签:
【中文标题】WPF:删除样式列表框中焦点项目周围的虚线边框【英文标题】:WPF: Remove dotted border around focused item in styled listbox 【发布时间】:2010-10-10 05:03:19 【问题描述】:我有一个带有自定义 controlIemplate 的水平列表框。选中的项目在获得焦点时会出现一个虚线框。有谁知道如何摆脱它?
【问题讨论】:
【参考方案1】:您需要将每个 ListBoxItem 的 FocusVisualStyle 设置为 null。步骤如下
1) 为 ListBox 创建 ItemContainerStyle
<Style x:Key="ListBoxItemStyle1" TargetType="x:Type ListBoxItem">
<Setter Property="FocusVisualStyle" Value="x:Null"/> ....
2) 将该样式设置为列表框
<ListBox ItemContainerStyle="DynamicResource ListBoxItemStyle1"
【讨论】:
这个答案效果很好,但在这里很重要:如果您使用此方法,您的控件将不会显示任何在 Windows 8 中聚焦的指示器! 使用 @ 987654323@ 在 Windows 7 中被禁用,像 Buttons 这样的控件仍然保留蓝色的整体突出显示,但在 Windows 8 中,完全无法分辨组中的哪个控件被聚焦。 很高兴知道。在这种情况下,目标是删除包含更多控件的列表项的视觉样式。子控件仍将保持其焦点样式不变。 在大多数情况下,您也可以只添加FocusVisualStyle="x:Null"
。以上是关于WPF:删除样式列表框中焦点项目周围的虚线边框的主要内容,如果未能解决你的问题,请参考以下文章
CSS 在Windows上使用Firefox 3并且wmode透明或不透明时,删除SWF周围的虚线边框