У меня есть пользовательский стиль ListBoxItem
с Border
, окружающим 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>