Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés
Esta documentación está archivada y no tiene mantenimiento.

VisualState (Clase)

Representa la apariencia visual del control cuando está en un estado concreto.

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

[ContentPropertyAttribute("Storyboard")]
[RuntimeNamePropertyAttribute("Name")]
public class VisualState : DependencyObject
<VisualState>
  Storyboard
</VisualState>

El tipo VisualState expone los siguientes miembros.

  NombreDescripción
Método públicoVisualStateInicializa una nueva instancia de la clase VisualState.
Arriba

  NombreDescripción
Propiedad públicaDependencyObjectTypeObtiene el objeto DependencyObjectType que ajusta el tipo CLR de esta instancia.  (Se hereda de DependencyObject).
Propiedad públicaDispatcherObtiene el objeto Dispatcher al que está asociado DispatcherObject. (Se hereda de DispatcherObject).
Propiedad públicaIsSealedObtiene un valor que indica si esta instancia está actualmente sellada (es de solo lectura). (Se hereda de DependencyObject).
Propiedad públicaNameObtiene o establece el nombre del objeto VisualState.
Propiedad públicaStoryboardObtiene o establece un objeto Storyboard que define la apariencia del control cuando está en el estado representado por VisualState.
Arriba

  NombreDescripción
Método públicoCheckAccess Determina si el subproceso de la llamada tiene acceso a este DispatcherObject. (Se hereda de DispatcherObject).
Método públicoClearValue(DependencyProperty) Borra el valor local de una propiedad. La propiedad que se borrará se especifica mediante un identificador de DependencyProperty. (Se hereda de DependencyObject).
Método públicoClearValue(DependencyPropertyKey) Borra el valor local de una propiedad de sólo lectura. La propiedad que se borrará es especificada por DependencyPropertyKey. (Se hereda de DependencyObject).
Método públicoCoerceValue Fuerza el valor de propiedad de la dependencia especificada. Esto se logra a cualquier función de CoerceValueCallback especificada en los metadatos de propiedad para la propiedad de dependencia tal como existe en el objeto DependencyObject que llama. (Se hereda de DependencyObject).
Método públicoEquals Determina si un DependencyObject proporcionado es equivalente a DependencyObject actual. (Se hereda de DependencyObject).
Método protegidoFinalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por el recolector de basura. (Se hereda de Object).
Método públicoGetHashCode Obtiene un código hash para este DependencyObject. (Se hereda de DependencyObject).
Método públicoGetLocalValueEnumeratorCrea un enumerador especializado para determinar qué propiedades de dependencia han establecido localmente los valores en DependencyObject. (Se hereda de DependencyObject).
Método públicoGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método públicoGetValue Devuelve el valor efectivo actual de propiedad de dependencia en esta instancia de DependencyObject. (Se hereda de DependencyObject).
Método públicoInvalidatePropertyVuelve a evaluar el valor efectivo para la propiedad de dependencia especificada. (Se hereda de DependencyObject).
Método protegidoMemberwiseClone Crea una copia superficial del Object actual. (Se hereda de Object).
Método protegidoOnPropertyChanged Invocado siempre que el valor efectivo de cualquier propiedad de dependencia en este DependencyObject se haya actualizado. Se informa de la propiedad de dependencia concreta que cambió en los datos de evento. (Se hereda de DependencyObject).
Método públicoReadLocalValue Devuelve el valor local de propiedad de dependencia, si existe. (Se hereda de DependencyObject).
Método públicoSetCurrentValueEstablece el valor de una propiedad de dependencia sin cambiar el origen de su valor. (Se hereda de DependencyObject).
Método públicoSetValue(DependencyProperty, Object)Establece el valor local de una propiedad de dependencia, especificado por su identificador de propiedad de dependencia. (Se hereda de DependencyObject).
Método públicoSetValue(DependencyPropertyKey, Object)Establece el valor local de una propiedad de dependencia de sólo lectura, especificado por el identificador DependencyPropertyKey de la propiedad de dependencia. (Se hereda de DependencyObject).
Método protegidoShouldSerializePropertyDevuelve un valor que indica si los procesos de serialización deben serializar el valor de la propiedad de dependencia proporcionada. (Se hereda de DependencyObject).
Método públicoToString Devuelve una cadena que representa al objeto actual. (Se hereda de Object).
Método públicoVerifyAccessExige que el subproceso de la llamada tenga acceso a DispatcherObject. (Se hereda de DispatcherObject).
Arriba

VisualState especifica qué apariencia tiene el control cuando está en un estado determinado. Por ejemplo, cuando se presiona Button, sus bordes pueden ser de un color distinto al habitual. La clase VisualState tiene una propiedad Storyboard que cambia la apariencia del control. Cuando el control entra en el estado especificado por la propiedad VisualState.Name, se inicia Storyboard. Cuando el control sale del estado, Storyboard se detiene.

La propiedad VisualStateGroup.States contiene objetos VisualState. Los objetos VisualStateGroup se agregan a la propiedad adjunta VisualStateManager.VisualStateGroups, en la que se define en FrameworkElement. Puede agregar objetos VisualState a cualquier FrameworkElement, pero se utilizan normalmente en una ControlTemplate de Control. Para obtener más información sobre cómo crear ControlTemplate y objetos VisualState para controles existentes, vea Personalizar la apariencia de un control existente creando una clase ControlTemplate. Para obtener un ejemplo de uso de los objetos VisualState fuera de ControlTemplate, vea la clase VisualStateManager.

En el ejemplo siguiente se crea VisualStateGroup en ControlTemplate del Button llamado CommonStates y se agregan objetos VisualState para los estados, Normal, Pressed y MouseOver. Button también define un estado denominado Disabled que está en CommonStatesVisualStateGroup, pero que se omite en el ejemplo para mayor brevedad. Para obtener el ejemplo completo, vea Personalizar la apariencia de un control existente creando una clase ControlTemplate.


  <!--Define the states and transitions for the common states.
      The states in the VisualStateGroup are mutually exclusive to
      each other.-->
  <VisualStateGroup Name="CommonStates">

    <!--The Normal state is the state the button is in
        when it is not in another state from this VisualStateGroup.-->
    <VisualState Name="Normal" />

    <!--Change the SolidColorBrush, BorderBrush, to red when the
        mouse is over the button.-->
    <VisualState Name="MouseOver">
      <Storyboard>
        <ColorAnimation Storyboard.TargetName="BorderBrush" 
                        Storyboard.TargetProperty="Color" 
                        To="Red" />
      </Storyboard>
    </VisualState>

    <!--Change the SolidColorBrush, BorderBrush, to Transparent when the
        button is pressed.-->
    <VisualState Name="Pressed">
      <Storyboard>
        <ColorAnimation Storyboard.TargetName="BorderBrush" 
                        Storyboard.TargetProperty="Color"
                        To="Transparent"/>
      </Storyboard>
    </VisualState>

    <!--The Disabled state is omitted for brevity.-->
  </VisualStateGroup>
</VisualStateManager.VisualStateGroups>


.NET Framework

Compatible con: 4

.NET Framework Client Profile

Compatible con: 4

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.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Mostrar: