title | ms.date | helpviewer_keywords | ms.assetid | description | ||
---|---|---|---|---|---|---|
How to: Apply a FocusVisualStyle to a Control |
03/30/2017 |
|
363de99e-8ecc-438c-ac4a-f9147432ebd6 |
Learn how to create a focus visual style in resources and apply the style to a control, using the FocusVisualStyle property. |
This example shows you how to create a focus visual style in resources and apply the style to a control, using the xref:System.Windows.FrameworkElement.FocusVisualStyle%2A property.
The following example defines a style that creates additional control compositing that only applies when that control is keyboard focused in the user interface (UI). This is accomplished by defining a style with a xref:System.Windows.Controls.ControlTemplate, then referencing that style as a resource when setting the xref:System.Windows.FrameworkElement.FocusVisualStyle%2A property.
An external rectangle resembling a border is placed outside of the rectangular area. Unless otherwise modified, the sizing of the style uses the xref:System.Windows.FrameworkElement.ActualHeight%2A and xref:System.Windows.FrameworkElement.ActualWidth%2A of the rectangular control where the focus visual style is applied. This example sets negative values for the xref:System.Windows.FrameworkElement.Margin%2A to make the border appear slightly outside the focused control.
[!code-xamlFEFocusVisualStyle#XAML]
A xref:System.Windows.FrameworkElement.FocusVisualStyle%2A is additive to any control template style that comes either from an explicit style or a theme style; the primary style for a control can still be created by using a xref:System.Windows.Controls.ControlTemplate and setting that style to the xref:System.Windows.FrameworkElement.Style%2A property.
Focus visual styles should be used consistently across a theme or a UI, rather than using a different one for each focusable element. For details, see Styling for Focus in Controls, and FocusVisualStyle.
- xref:System.Windows.FrameworkElement.FocusVisualStyle%2A
- Styling and Templating
- Styling for Focus in Controls, and FocusVisualStyle