Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés
Esta documentación está archivada y no tiene mantenimiento.

FrameworkElement.FocusVisualStyle (Propiedad)

Obtiene o establece una propiedad que habilita la personalización de aspecto, efectos u otras características de estilo que se aplicarán a este elemento cuando capture el foco del teclado.

Espacio de nombres:  System.Windows
Ensamblado:  PresentationFramework (en PresentationFramework.dll)
XMLNS para XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

public Style FocusVisualStyle { get; set; }
<object FocusVisualStyle="{resourceExtension styleResourceKey}"/>

Valores XAML

resourceExtension

Una de las siguientes: extensión de marcado StaticResource o extensión de marcado DynamicResource. Vea Información general sobre recursos.

styleResourceKey

Clave que identifica el estilo que se solicita. La clave hace referencia a un recurso existente en un objeto ResourceDictionary.

NotaNota

La sintaxis de elementos de propiedad es técnicamente posible, pero no se recomienda. Vea Estilos y plantillas insertados. También es posible una referencia de enlace mediante la extensión de marcado TemplateBinding o Binding, pero no es lo habitual.

Valor de propiedad

Tipo: System.Windows.Style
Estilo que se desea aplicar cuando el elemento recibe el foco. El valor predeterminado declarado en la propiedad de dependencia es un objeto Style estático vacío. Sin embargo, el valor efectivo en tiempo de ejecución suele ser (pero no siempre es) un estilo proporcionado por compatibilidad del tema con los controles.

Campo de identificador

FocusVisualStyleProperty

Propiedades de metadatos establecidas en true.

NONE

Esta propiedad afecta el aspecto visual pero no informa de AffectsRender en los metadatos. Esto se debe a que el cambio del aspecto visual está orientado a eventos y no se aplica en todo momento y, por consiguiente, no se debe notificar generalmente de cualquier información visual o de diseño en los metadatos.

Conceptualmente, el comportamiento visual de foco aplicado a un control debe ser coherente de un control a otro. La manera más sensata de exigir la coherencia es cambiar sólo el estilo visual del foco si se está creando un tema completo. Establecer esta propiedad en estilos de control individuales, y no como parte de un tema, no es el uso conveniente de esta propiedad, porque puede llevar a una experiencia de usuario confusa con respecto al foco del teclado. Si desea un comportamiento específico del control que, deliberadamente, no sea coherente en todo el tema, un enfoque mucho mejor es usar desencadenadores en los estilos para las propiedades de estado de entradas individuales, como IsFocused o IsKeyboardFocusWithin y hacerlo de forma que no interfieran visualmente con cualquier estilo visual del foco existente. Para obtener más información sobre la intención de diseño de FocusVisualStyle y las propiedades de foco de alternativas, vea Aplicar estilo a los controles al recibir el foco y FocusVisualStyle.

This example shows you how to create a focus visual style in resources and apply the style to a control, using the FocusVisualStyle 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 ControlTemplate, then referencing that style as a resource when setting the FocusVisualStyle property.

An external rectangle resembling a border is placed outside of the rectangular area. Unless otherwise modified, the sizing of the style uses the ActualHeight and ActualWidth of the rectangular control where the focus visual style is applied. This example sets negative values for the Margin to make the border appear slightly outside the focused control.


<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>


A FocusVisualStyle 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 ControlTemplate and setting that style to the Style 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 Aplicar estilo a los controles al recibir el foco y FocusVisualStyle.

.NET Framework

Compatible con: 4, 3.5, 3.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Mostrar: