Condividi tramite


VisualStateGroup Classe

Definizione

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, , NormalMouseOver, Pressede Disabled. L'altro contiene gli stati, , CheckedUnCheckede Indeterminate. Il CheckBox può essere in stati e UnCheckedPressed 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.

Si applica a