VisualStateGroup Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Contiene oggetti VisualState che si escludono a vicenda e oggetti VisualTransition utilizzati per passare da uno stato ad un altro.
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
- Ereditarietà
- Attributi
Esempio
Nell'esempio seguente viene creato un semplice ControlTemplate oggetto Button contenente un Gridoggetto . Contiene anche un VisualStateGroup oggetto denominato CommonStates
, che definisce gli MouseOver
stati e Normal
. Ha VisualStateGroup anche un VisualTransition oggetto che specifica che richiede una metà del secondo per Grid passare da verde a rosso quando l'utente sposta il puntatore del Buttonmouse su .
<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>
Commenti
Ogni VisualStateGroup oggetto contiene una raccolta di VisualState oggetti. Contiene VisualState una raccolta di Storyboard oggetti che specificano come cambia l'aspetto del controllo quando il controllo è in un determinato stato. Ad esempio, un Button potrebbe avere un aspetto leggermente diverso quando viene premuto rispetto a quando non viene premuto. Due stati che Button definiscono corrispondono quando viene premuto () e quando non è ("Pressed"
"Normal"
).
Si aggiunge VisualState a un controllo impostando la VisualStateManager.VisualStateGroups
proprietà associata sul controllo. Si inseriscono gli stati che si escludono a vicenda tra loro nello stesso VisualStateGroup. Ad esempio, l'oggetto CheckBox ha due VisualStateGroup oggetti. Uno contiene gli stati, , Normal
MouseOver
, Pressed
e Disabled
. L'altro contiene gli stati, , Checked
UnChecked
e Indeterminate
. Il CheckBox può essere in stati e UnChecked
Pressed
allo stesso tempo, ma non può essere nello MouseOver
stesso MouseOver
momento e stati.
Anche se è possibile aggiungere VisualState oggetti a qualsiasi elemento, è un modo particolarmente utile per consentire ad altri di ridefinire il comportamento visivo di un Controloggetto . Se si crea un controllo personalizzato che usa un ControlTemplateoggetto , è possibile specificare gli stati in cui è possibile inserire il controllo aggiungendo un oggetto TemplateVisualStateAttribute nella relativa definizione di classe. Tutti gli utenti che creano un nuovo ControlTemplate controllo possono quindi aggiungere VisualState oggetti al modello. Consente TemplateVisualStateAttribute agli strumenti di progettazione, ad esempio Visual Studio e Blend per Visual Studio, di esporre gli stati del controllo. Gli stati con lo stesso appartengono allo stesso TemplateVisualStateAttribute.GroupNameVisualStateGroupoggetto .
Per altre informazioni su come usare VisualStateGroup gli oggetti in un , vedere Personalizzazione dell'aspetto di un controllo esistente creando un controllo ControlTemplate.ControlTemplate Per altre informazioni su come creare controlli che usano , VisualStateManagervedere Creazione di un controllo con aspetto personalizzabile.
La Transitions proprietà contiene VisualTransition oggetti applicati quando la transizione del controllo tra gli stati definiti in VisualStateGroup.
Costruttori
VisualStateGroup() |
Inizializza una nuova istanza della classe VisualStateGroup. |
Proprietà
CurrentState |
Ottiene l'oggetto VisualState attualmente applicato al controllo. |
DependencyObjectType |
Ottiene l'oggetto DependencyObjectType che esegue il wrapping del tipo CLR di questa istanza. (Ereditato da DependencyObject) |
Dispatcher |
Ottiene l'oggetto Dispatcher associato a DispatcherObject. (Ereditato da DispatcherObject) |
IsSealed |
Ottiene un valore che indica se l'istanza è attualmente sealed (di sola lettura). (Ereditato da DependencyObject) |
Name |
Ottiene o imposta il nome di VisualStateGroup. |
States |
Ottiene la raccolta di oggetti VisualState che si escludono a vicenda. |
Transitions |
Ottiene la raccolta di oggetti VisualTransition. |
Metodi
CheckAccess() |
Determina se il thread chiamante ha accesso a DispatcherObject. (Ereditato da DispatcherObject) |
ClearValue(DependencyProperty) |
Cancella il valore locale di una proprietà. La proprietà da cancellare è specificata da un identificatore DependencyProperty. (Ereditato da DependencyObject) |
ClearValue(DependencyPropertyKey) |
Cancella il valore locale di una proprietà di sola lettura. La proprietà da cancellare è specificata da un oggetto DependencyPropertyKey. (Ereditato da DependencyObject) |
CoerceValue(DependencyProperty) |
Assegna forzatamente il valore della proprietà di dipendenza specificata. Questa operazione viene eseguita richiamando qualsiasi funzione CoerceValueCallback specificata nei metadati della proprietà di dipendenza esistente nell'oggetto DependencyObject chiamante. (Ereditato da DependencyObject) |
Equals(Object) |
Determina se l'oggetto DependencyObject specificato equivale all'oggetto DependencyObject corrente. (Ereditato da DependencyObject) |
GetHashCode() |
Ottiene un codice hash per l'oggetto DependencyObject. (Ereditato da DependencyObject) |
GetLocalValueEnumerator() |
Crea un enumeratore specializzato per determinare le proprietà di dipendenza che presentano valori impostati localmente nell'oggetto DependencyObject. (Ereditato da DependencyObject) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
GetValue(DependencyProperty) |
Restituisce il valore effettivo corrente di una proprietà di dipendenza in questa istanza di DependencyObject. (Ereditato da DependencyObject) |
InvalidateProperty(DependencyProperty) |
Valuta di nuovo il valore effettivo della proprietà di dipendenza specificata. (Ereditato da DependencyObject) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Richiamato ogni volta che viene aggiornato il valore effettivo di qualsiasi proprietà di dipendenza in DependencyObject. La proprietà di dipendenza specifica modificata viene indicata nei dati dell'evento. (Ereditato da DependencyObject) |
ReadLocalValue(DependencyProperty) |
Restituisce il valore locale di una proprietà di dipendenza, se esistente. (Ereditato da DependencyObject) |
SetCurrentValue(DependencyProperty, Object) |
Imposta il valore di una proprietà di dipendenza senza modificare l'origine del valore. (Ereditato da DependencyObject) |
SetValue(DependencyProperty, Object) |
Imposta il valore locale di una proprietà di dipendenza, specificato dal relativo identificatore della proprietà di dipendenza. (Ereditato da DependencyObject) |
SetValue(DependencyPropertyKey, Object) |
Imposta il valore locale di una proprietà di dipendenza di sola lettura, specificato dall'identificatore DependencyPropertyKey della proprietà di dipendenza. (Ereditato da DependencyObject) |
ShouldSerializeProperty(DependencyProperty) |
Restituisce un valore che indica se i processi di serializzazione devono serializzare il valore della proprietà di dipendenza specificata. (Ereditato da DependencyObject) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
VerifyAccess() |
Impone che il thread chiamante abbia accesso a DispatcherObject. (Ereditato da DispatcherObject) |
Eventi
CurrentStateChanged |
Si verifica in seguito al passaggio di un controllo in uno stato diverso. |
CurrentStateChanging |
Si verifica quando un controllo inizia il passaggio in uno stato diverso. |