Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este ejemplo se muestra cómo crear un estilo visual de foco en los recursos y aplicar el estilo a un control, utilizando la propiedad FocusVisualStyle.
Ejemplo
En el ejemplo siguiente se define un estilo que crea una composición de controles adicional que se aplica únicamente cuando ese control recibe el foco del teclado en la user interface (UI). Para ello, se define un estilo con ControlTemplate, y luego se hace referencia a ese estilo como un recurso al establecer la propiedad FocusVisualStyle.
Un rectángulo externo que parece un borde se coloca fuera del área rectangular. A menos que se modifique de otro modo, la operación de ajuste de tamaño del estilo utiliza las propiedades ActualHeight y ActualWidth del control rectangular donde se aplica el estilo visual de foco. En este ejemplo se establecen valores negativos para Margin, a fin de que el borde parezca ligeramente fuera del control que tiene el foco.
<Page
xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://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>
FocusVisualStyle se aplica además de cualquier estilo de plantilla de control que proceda de un estilo explícito o de un estilo de tema; sigue siendo posible crear el estilo primario de un control mediante ControlTemplate y estableciendo ese estilo en la propiedad Style.
Los estilos visuales de foco deben utilizarse de manera coherente en un tema o una interfaz de usuario, en lugar de utilizar uno diferente para cada elemento que pueda recibir el foco. Para obtener información detallada, vea Aplicar estilo a los controles al recibir el foco y FocusVisualStyle.
Vea también
Referencia
Conceptos
Aplicar estilo a los controles al recibir el foco y FocusVisualStyle