VisualStateGroup Klasse

Definition

Enthält sich gegenseitig ausschließende VisualState-Objekte und VisualTransition-Objekte, die zum Wechseln zwischen Zuständen verwendet werden.

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

Beispiele

Im folgenden Beispiel wird ein einfaches ControlTemplate Beispiel für ein Button Element erstellt, das einen Gridenthält. Es enthält auch einen VisualStateGroup benannten CommonStates, der die und Normal die MouseOver Zustände definiert. Dies VisualStateGroup hat auch einen VisualTransition Wert, der angibt, dass es eine Halbe Sekunde dauert, bis der Grid Mauszeiger von Grün zu Rot wechselt, wenn der Benutzer den Mauszeiger über den 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>

Hinweise

Jede VisualStateGroup enthält eine Auflistung von VisualState Objekten. A VisualState enthält eine Auflistung von Storyboard Objekten, die angeben, wie sich die Darstellung des Steuerelements ändert, wenn sich das Steuerelement in einem bestimmten Zustand befindet. Beispielsweise kann ein Button etwas anderes Aussehen haben, wenn er gedrückt wird als wenn er nicht gedrückt wird. Zwei Zustände, denen die Button Definition entspricht, wenn sie gedrückt wird ("Pressed") und wenn sie nicht ("Normal") ist.

Sie fügen einem Steuerelement hinzu VisualState , indem Sie die VisualStateManager.VisualStateGroups angefügte Eigenschaft für das Steuerelement festlegen. Sie legen Zustände fest, die sich gegenseitig ausschließen.VisualStateGroup Dies hat beispielsweise CheckBox zwei VisualStateGroup Objekte. Eine enthält die Zustände, Normal, MouseOver``Pressedund Disabled. Die anderen enthält die Zustände, Checked, UnCheckedund Indeterminate. Dies CheckBox kann sich in Zuständen MouseOver und UnChecked gleichzeitig befinden, aber es kann nicht gleichzeitig in den MouseOver und Pressed zu den Zuständen stehen.

Obwohl Sie jedem Element Objekte hinzufügen VisualState können, sind sie eine besonders nützliche Methode, um anderen zu ermöglichen, das visuelle Verhalten eines Elements Controlneu zu definieren. Wenn Sie ein benutzerdefiniertes Steuerelement erstellen, das ein ControlTemplatesteuerelement verwendet, können Sie angeben, welche Zustände dieses Steuerelements enthalten können, indem Sie eine TemplateVisualStateAttribute zu ihrer Klassendefinition hinzufügen. Dann kann jeder, der ein neues ControlTemplate Steuerelement erstellt, Objekte zur Vorlage hinzufügen VisualState . Mit TemplateVisualStateAttribute den Designertools, z. B. Visual Studio und Blend für Visual Studio, können die Zustände des Steuerelements verfügbar gemacht werden. Staaten mit demselben TemplateVisualStateAttribute.GroupName gehören zu demselben VisualStateGroup.

Weitere Informationen zum Verwenden VisualStateGroup von Objekten in einem ControlTemplate, finden Sie im Anpassen der Darstellung eines vorhandenen Steuerelements durch Erstellen einer ControlTemplate. Weitere Informationen zum Erstellen von Steuerelementen, die das VisualStateManagerverwenden, finden Sie unter Erstellen eines Steuerelements mit anpassbarer Darstellung.

Die Transitions Eigenschaft enthält VisualTransition Objekte, die angewendet werden, wenn der Steuerelementübergang zwischen Zuständen, die in der VisualStateGroupDefiniert sind.

Konstruktoren

VisualStateGroup()

Initialisiert eine neue Instanz der VisualStateGroup-Klasse.

Eigenschaften

CurrentState

Ruft den VisualState ab, der derzeit auf das Steuerelement angewendet ist.

DependencyObjectType

Ruft den DependencyObjectType CLR-Typ dieser Instanz ab.

(Geerbt von DependencyObject)
Dispatcher

Ruft den Dispatcher ab, der diesem DispatcherObject zugeordnet ist.

(Geerbt von DispatcherObject)
IsSealed

Ruft einen Wert ab, der angibt, ob diese Instanz derzeit versiegelt (schreibgeschützt) ist.

(Geerbt von DependencyObject)
Name

Ruft den Namen der VisualStateGroup ab oder legt diesen fest.

States

Ruft die Auflistung sich gegenseitig ausschließender VisualState-Objekte ab.

Transitions

Ruft die Auflistung von VisualTransition-Objekten ab.

Methoden

CheckAccess()

Bestimmt, ob der aufrufende Thread auf dieses DispatcherObject zugreifen kann.

(Geerbt von DispatcherObject)
ClearValue(DependencyProperty)

Löscht den lokalen Wert einer Eigenschaft. Die Eigenschaft, deren Wert gelöscht werden soll, wird durch einen DependencyProperty-Bezeichner angegeben.

(Geerbt von DependencyObject)
ClearValue(DependencyPropertyKey)

Löscht den lokalen Wert einer schreibgeschützten Eigenschaft. Die Eigenschaft, deren Wert gelöscht werden soll, wird durch einen DependencyPropertyKey angegeben.

(Geerbt von DependencyObject)
CoerceValue(DependencyProperty)

Erzwingt den Wert der angegebenen Abhängigkeitseigenschaft. Dies erfolgt durch den Aufruf einer beliebigen CoerceValueCallback-Funktion, die in den Metadaten für die Abhängigkeitseigenschaft angegeben ist, während sie beim aufrufenden DependencyObject beendet wird.

(Geerbt von DependencyObject)
Equals(Object)

Bestimmt, ob ein angegebenes DependencyObject dem aktuellen DependencyObject entspricht.

(Geerbt von DependencyObject)
GetHashCode()

Ruft einen Hashcode für diese DependencyObject ab.

(Geerbt von DependencyObject)
GetLocalValueEnumerator()

Erstellt einen spezialisierten Enumerator, mit dem bestimmt wird, welche Abhängigkeitseigenschaften dieses DependencyObject über lokal festgelegte Werte verfügen.

(Geerbt von DependencyObject)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
GetValue(DependencyProperty)

Gibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft für diese Instanz eines DependencyObject zurück.

(Geerbt von DependencyObject)
InvalidateProperty(DependencyProperty)

Wertet den effektiven Wert für die angegebene Abhängigkeitseigenschaft erneut aus.

(Geerbt von DependencyObject)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Wird immer dann aufgerufen, wenn der effektive Wert einer Abhängigkeitseigenschaft für dieses DependencyObject aktualisiert wurde. Welche spezifische Abhängigkeitseigenschaft geändert wird, wird in den Ereignisdaten gemeldet.

(Geerbt von DependencyObject)
ReadLocalValue(DependencyProperty)

Gibt den lokalen Wert einer Abhängigkeitseigenschaft zurück, wenn dieser vorhanden ist.

(Geerbt von DependencyObject)
SetCurrentValue(DependencyProperty, Object)

Legt den Wert einer Abhängigkeitseigenschaft fest, ohne deren Wertquelle zu ändern.

(Geerbt von DependencyObject)
SetValue(DependencyProperty, Object)

Legt den lokalen Wert einer Abhängigkeitseigenschaft fest, die durch ihren Bezeichner angegeben ist.

(Geerbt von DependencyObject)
SetValue(DependencyPropertyKey, Object)

Legt den lokalen Wert einer schreibgeschützten Abhängigkeitseigenschaft fest, die durch den DependencyPropertyKey-Bezeichner der Abhängigkeitseigenschaft angegeben ist.

(Geerbt von DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Gibt einen Wert zurück, der angibt, ob Serialisierungsprozesse den Wert der bereitgestellten Abhängigkeitseigenschaft serialisieren sollen.

(Geerbt von DependencyObject)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
VerifyAccess()

Erzwingt, dass der aufrufende Thread auf dieses DispatcherObject zugreifen kann.

(Geerbt von DispatcherObject)

Ereignisse

CurrentStateChanged

Tritt nach dem Übergang eines Steuerelements in einen anderen Zustand ein.

CurrentStateChanging

Tritt ein, wenn der Übergang eines Steuerelements in einen anderen Zustand beginnt.

Gilt für