Для этого вам нужно настроить шаблон Button. Сначала возьмите существующий шаблон (в Blend this, где вы используете Edit Copy of Template), который вы можете получить из документации, если у вас есть только Visual Studio. Стили и шаблоны кнопок .
Скопируйте весь стиль и поместите его в ресурс где-нибудь в вашем UserControl или, что еще лучше, в собственный файл ResourceDictionary и включите в ресурсы UserControl с помощью MergedDictionaries
: -
NoFocusRectangleButtonStyle.xaml: -
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style x:Key="NoFocusRectangleButtonStyle" TargetType="Button">
<!-- copy of style contents from documentation -->
</Style>
</ResourceDictionary>
В вашем UserControl: -
<UserControl .... >
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="NoFocusRectangleButtonStyle.xaml" />
</ResourceDictionary.MergedDictionaries>
<!-- other local resources -->
</ResourceDictionary>
</UserControl.Resources>
<Grid x:Name="LayoutRoot" ...>
<Button Style="{StaticResource NoFocusRectangleButtonStyle}">
<Image Source="yourimage.png" />
</Button>
</Grid>
</UserControl>
Теперь вам просто нужно настроить Template
в скопированном стиле, чтобы удалить Фокус Rectangle
.
Вы найдете его в нижней части шаблона, удалите его. Затем посмотрите дальше до конца набора VisualStateGroups
, вы увидите VisualState
под названием «Фокус», удалите Storyboard
, который он содержит, и все готово.