C# 删除列表框项目虚线边框
我有一个自定义样式的C# 删除列表框项目虚线边框,c#,wpf,wpf-controls,custom-controls,C#,Wpf,Wpf Controls,Custom Controls,我有一个自定义样式的ListBoxItem,在ContentPresenter周围有一个边框。(代码如下)。“我的边框”用作我的选择指示器,当您选择它时,它将变为灰色。当我使用鼠标的时候一切都很好,但是当我使用键盘的时候,一个丑陋的灰色虚线出现了。如何删除它 图片: 您可以看到,当我将鼠标滑过/单击ListBoxItem时,项目周围会有一个包含背景的边框。但当我使用键盘时,会弹出一个丑陋的虚线边框 代码: 来自以下人员的回答 .... 来自以下人员的回答 .... <Style
ListBoxItem
,在ContentPresenter
周围有一个边框。(代码如下)。“我的边框”用作我的选择指示器,当您选择它时,它将变为灰色。当我使用鼠标的时候一切都很好,但是当我使用键盘的时候,一个丑陋的灰色虚线出现了。如何删除它
图片:
您可以看到,当我将鼠标滑过/单击ListBoxItem
时,项目周围会有一个包含背景的边框。但当我使用键盘时,会弹出一个丑陋的虚线边框
代码:
来自以下人员的回答
....
来自以下人员的回答
....
<Style x:Key="{x:Type ListBoxItem}" TargetType="ListBoxItem" BasedOn="{StaticResource {x:Type ListBoxItem}}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<StackPanel>
<Border Name="HighlightBorder"
Padding="30"
BorderBrush="Transparent"
BorderThickness="1"
CornerRadius="5"
>
<ContentPresenter/>
</Border>
</StackPanel>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="HighlightBorder" Property="Background" Value="#F3F3F3"/>
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="HighlightBorder" Property="Background" Value="#DFDFDF"/>
</Trigger>
<Trigger Property="IsKeyboardFocused" Value="True">
<Setter TargetName="HighlightBorder" Property="Background" Value="#DFDFDF"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style x:Key="ListBoxItemStyle1" TargetType="{x:Type ListBoxItem}">
<Setter Property="FocusVisualStyle" Value="{x:Null}"/> ....