VisualStateGroup Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Contiene objetos VisualState mutuamente excluyentes y objetos VisualTransition que se utilizan para pasar de un estado a otro.
public ref class VisualStateGroup : System::Windows::DependencyObject
[System.Windows.Markup.ContentProperty("States")]
[System.Windows.Markup.RuntimeNameProperty("Name")]
public class VisualStateGroup : System.Windows.DependencyObject
[<System.Windows.Markup.ContentProperty("States")>]
[<System.Windows.Markup.RuntimeNameProperty("Name")>]
type VisualStateGroup = class
inherit DependencyObject
Public Class VisualStateGroup
Inherits DependencyObject
- Herencia
- Atributos
Ejemplos
En el ejemplo siguiente se crea un objeto simple ControlTemplate para un Button objeto que contiene uno Grid. También contiene un VisualStateGroup objeto denominado CommonStates
, que define los MouseOver
estados y Normal
.
VisualStateGroup También tiene un VisualTransition valor de tipo que especifica que tarda una mitad de segundo en Grid cambiar de verde a rojo cuando el usuario mueve el puntero del mouse sobre .Button
<ControlTemplate TargetType="Button">
<Grid >
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualStateGroup.Transitions>
<!--Take one half second to trasition to the MouseOver state.-->
<VisualTransition To="MouseOver"
GeneratedDuration="0:0:0.5"/>
</VisualStateGroup.Transitions>
<VisualState x:Name="Normal" />
<!--Change the SolidColorBrush, ButtonBrush, to red when the
mouse is over the button.-->
<VisualState x:Name="MouseOver">
<Storyboard>
<ColorAnimation Storyboard.TargetName="ButtonBrush"
Storyboard.TargetProperty="Color" To="Red" />
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid.Background>
<SolidColorBrush x:Name="ButtonBrush" Color="Green"/>
</Grid.Background>
</Grid>
</ControlTemplate>
Comentarios
Cada VisualStateGroup contiene una colección de VisualState objetos .
VisualState Contiene una colección de Storyboard objetos que especifican cómo cambia la apariencia del control cuando el control está en un estado determinado. Por ejemplo, un Button podría tener una apariencia ligeramente diferente cuando se presiona que cuando no se presiona. Dos estados a los Button que define corresponden cuando se presiona ("Pressed"
) y cuando no es ("Normal"
).
Para agregar VisualState a un control, establezca la VisualStateManager.VisualStateGroups
propiedad adjunta en el control . Coloca estados que se excluyen mutuamente entre sí en el mismo VisualStateGroup. Por ejemplo, tiene CheckBox dos VisualStateGroup objetos. Uno contiene los estados , Normal
, MouseOver
, Pressed
y Disabled
. El otro contiene los estados , Checked
, UnChecked
y Indeterminate
.
CheckBox puede estar en estados MouseOver
y UnChecked
al mismo tiempo, pero no puede estar en los MouseOver
estados y Pressed
al mismo tiempo.
Aunque puede agregar VisualState objetos a cualquier elemento, son una manera especialmente útil de permitir que otros usuarios vuelvan a definir el comportamiento visual de un Control. Si crea un control personalizado que usa un ControlTemplate, puede especificar en qué estados puede estar el control agregando una TemplateVisualStateAttribute en su definición de clase. A continuación, cualquier persona que cree un nuevo ControlTemplate para el control puede agregar VisualState objetos a la plantilla. TemplateVisualStateAttribute Permite que las herramientas del diseñador, como Visual Studio y Blend para Visual Studio, expongan los estados del control. Los estados con el mismo TemplateVisualStateAttribute.GroupName pertenecen a la misma VisualStateGroup.
Para obtener más información sobre cómo usar VisualStateGroup objetos en , ControlTemplatevea Personalización de la apariencia de un control existente mediante la creación de un controlTemplate. Para obtener más información sobre cómo crear controles que usan VisualStateManager, vea Crear un control que tenga una apariencia personalizable.
La Transitions propiedad contiene VisualTransition objetos que se aplican cuando la transición del control entre estados definidos en .VisualStateGroup
Constructores
VisualStateGroup() |
Inicializa una nueva instancia de la clase VisualStateGroup. |
Propiedades
CurrentState |
Obtiene el VisualState que se aplica actualmente al control. |
DependencyObjectType |
Obtiene el DependencyObjectType objeto que encapsula el tipo CLR de esta instancia. (Heredado de DependencyObject) |
Dispatcher |
Obtiene el objeto Dispatcher al que está asociado DispatcherObject. (Heredado de DispatcherObject) |
IsSealed |
Obtiene un valor que indica si esta instancia está actualmente sellada (es de solo lectura). (Heredado de DependencyObject) |
Name |
Obtiene o establece el nombre de VisualStateGroup. |
States |
Obtiene la colección de objetos VisualState que se excluyen mutuamente. |
Transitions |
Obtiene la colección de objetos VisualTransition. |
Métodos
CheckAccess() |
Determina si el subproceso de la llamada tiene acceso a DispatcherObject. (Heredado de DispatcherObject) |
ClearValue(DependencyProperty) |
Borra el valor local de una propiedad. La propiedad que se va a borrar se especifica mediante un identificador DependencyProperty. (Heredado de DependencyObject) |
ClearValue(DependencyPropertyKey) |
Borra el valor local de una propiedad de solo lectura. La propiedad que se va a borrar se especifica mediante un DependencyPropertyKey. (Heredado de DependencyObject) |
CoerceValue(DependencyProperty) |
Convierte el valor de la propiedad de dependencia especificada. Esto se logra invocando cualquier función CoerceValueCallback especificada en los metadatos de la propiedad de dependencia tal como existe en la clase DependencyObject que llama. (Heredado de DependencyObject) |
Equals(Object) |
Determina si un objeto DependencyObject proporcionado es equivalente al objeto DependencyObject actual. (Heredado de DependencyObject) |
GetHashCode() |
Obtiene un código hash de este objeto DependencyObject. (Heredado de DependencyObject) |
GetLocalValueEnumerator() |
Crea un enumerador especializado para determinar qué propiedades de dependencia han establecido localmente los valores en DependencyObject. (Heredado de DependencyObject) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
GetValue(DependencyProperty) |
Devuelve el valor efectivo actual de una propiedad de dependencia en esta instancia de un DependencyObject. (Heredado de DependencyObject) |
InvalidateProperty(DependencyProperty) |
Vuelve a evaluar el valor efectivo para la propiedad de dependencia especificada. (Heredado de DependencyObject) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Se invoca cuando se actualiza el valor efectivo de alguna propiedad de dependencia en este DependencyObject. La propiedad de dependencia específica que cambió se notifica en los datos de evento. (Heredado de DependencyObject) |
ReadLocalValue(DependencyProperty) |
Devuelve el valor local de una propiedad de dependencia, si existe. (Heredado de DependencyObject) |
SetCurrentValue(DependencyProperty, Object) |
Establece el valor de una propiedad de dependencia sin cambiar el origen del valor. (Heredado de DependencyObject) |
SetValue(DependencyProperty, Object) |
Establece el valor local de una propiedad de dependencia, especificado mediante el identificador de la propiedad de dependencia. (Heredado de DependencyObject) |
SetValue(DependencyPropertyKey, Object) |
Establece el valor local de una propiedad de dependencia de solo lectura, especificado por el identificador DependencyPropertyKey de la propiedad de dependencia. (Heredado de DependencyObject) |
ShouldSerializeProperty(DependencyProperty) |
Devuelve un valor que indica si los procesos de serialización deben serializar el valor de la propiedad de dependencia especificada. (Heredado de DependencyObject) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
VerifyAccess() |
Exige que el subproceso de la llamada tenga acceso a DispatcherObject. (Heredado de DispatcherObject) |
Eventos
CurrentStateChanged |
Se produce después de que un control pase a un estado diferente. |
CurrentStateChanging |
Se produce cuando un control comienza a pasar a un estado diferente. |