Jak zastosować FocusVisualStyle do formantu
W tym przykładzie pokazano, jak utworzyć styl wizualizacji fokusu w zasobach i zastosować styl do kontrolki FocusVisualStyle przy użyciu właściwości .
Przykład
W poniższym przykładzie zdefiniowano styl, który tworzy dodatkowe komponowanie kontrolek, które ma zastosowanie tylko wtedy, gdy ta kontrolka jest skoncentrowana na klawiaturze w interfejsie użytkownika. Jest to realizowane przez zdefiniowanie stylu za ControlTemplatepomocą klasy , a następnie odwoływanie się do tego stylu jako zasobu podczas ustawiania FocusVisualStyle właściwości.
Zewnętrzny prostokąt przypominający obramowanie znajduje się poza prostokątnym obszarem. O ile nie zmodyfikowano inaczej, rozmiar stylu używa ActualHeight kontrolki i ActualWidth prostokątnej kontrolki, w której zastosowano styl wizualizacji fokusu. W tym przykładzie ustawiono wartości ujemne, Margin aby obramowanie było wyświetlane nieco poza fokusem.
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
>
<Page.Resources>
<Style x:Key="MyFocusVisual">
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate>
<Rectangle Margin="-2" StrokeThickness="1" Stroke="Red" StrokeDashArray="1 2"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Page.Resources>
<StackPanel Background="Ivory" Orientation="Horizontal">
<Canvas Width="10"/>
<Button Width="100" Height="30" FocusVisualStyle="{DynamicResource MyFocusVisual}">
Focus Here</Button>
<Canvas Width="100"/>
<Button Width="100" Height="30" FocusVisualStyle="{DynamicResource MyFocusVisual}">
Focus Here</Button>
</StackPanel>
</Page>
Element FocusVisualStyle jest dodatkiem do dowolnego stylu szablonu kontrolki, który pochodzi z jawnego stylu lub stylu motywu. Styl podstawowy kontrolki można nadal tworzyć przy użyciu ControlTemplate kontrolki i ustawiając ten styl na Style właściwość .
Style wizualizacji fokusu powinny być używane spójnie w obrębie motywu lub interfejsu użytkownika, zamiast używać innego dla każdego elementu z możliwością koncentracji uwagi. Aby uzyskać szczegółowe informacje, zobacz Stylowanie fokusu w kontrolkach i FocusVisualStyle.
Zobacz też
.NET Desktop feedback