WPF:删除样式列表框中焦点项目周围的虚线边框


84

我有一个带有自定义controlIemplate的水平列表框。选中的项目在聚焦时会得到一个虚线框。有人知道如何摆脱它吗?

Answers:


164

您需要将每个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}"

5
这个答案很有效,但请注意:如果使用此方法,则控件将不会显示Windows 8中的任何指示器!如果FocusVisualStyle在Windows 7中禁用了按钮,则“按钮”之类的控件仍将保持蓝色整体高亮显示,但是在Windows 8中,完全不可能知道组中哪个控件的焦点。
埃文·旺德拉塞克

很高兴知道。在这种情况下,目标是删除包含更多控件的列表项的视觉样式。子控件仍将保持其焦点样式不变。
Vegar 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.