Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. |
Übersetzung
Original
|
VisualStateGroup-Klasse
Enthält sich gegenseitig ausschließende VisualState-Objekte und VisualTransition-Objekte, die zum Wechseln zwischen Zuständen verwendet werden.
System.Windows.Threading.DispatcherObject
System.Windows.DependencyObject
System.Windows.VisualStateGroup
Assembly: PresentationFramework (in PresentationFramework.dll)
XMLNS für XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
Der VisualStateGroup-Typ macht die folgenden Member verfügbar.
| Name | Beschreibung | |
|---|---|---|
|
VisualStateGroup | Initialisiert eine neue Instanz der VisualStateGroup-Klasse. |
| Name | Beschreibung | |
|---|---|---|
|
CurrentState | Ruft den VisualState ab, der derzeit auf das Steuerelement angewendet ist. |
|
DependencyObjectType | Ruft den DependencyObjectType ab, der den CLR-Typ dieser Instanz umschließt. (Von DependencyObject geerbt.) |
|
Dispatcher | Ruft den Dispatcher ab, der diesem DispatcherObject zugeordnet ist. (Von DispatcherObject geerbt.) |
|
IsSealed | Ruft einen Wert ab, der angibt, ob diese Instanz derzeit versiegelt (schreibgeschützt) ist. (Von DependencyObject geerbt.) |
|
Name | Ruft den Namen der VisualStateGroup-Klasse ab oder legt diesen fest. |
|
States | Ruft die Auflistung sich gegenseitig ausschließender VisualState-Objekte ab. |
|
Transitions | Ruft die Auflistung von VisualTransition-Objekten ab. |
| Name | Beschreibung | |
|---|---|---|
|
CheckAccess | Bestimmt, ob der aufrufende Thread auf dieses DispatcherObject zugreifen kann. (Von DispatcherObject geerbt.) |
|
ClearValue(DependencyProperty) | Löscht den lokalen Wert einer Eigenschaft. Die zu löschende Eigenschaft wird mit einem DependencyProperty-Bezeichner angegeben. (Von DependencyObject geerbt.) |
|
ClearValue(DependencyPropertyKey) | Löscht den lokalen Wert einer schreibgeschützten Eigenschaft. Die zu löschende Eigenschaft wird mit einem DependencyPropertyKey angegeben. (Von DependencyObject geerbt.) |
|
CoerceValue | Wandelt den Wert der angegebenen Abhängigkeitseigenschaft um. Für die Umwandlung wird eine vorhandene CoerceValueCallback-Funktion aufgerufen, die in den Metadaten der Abhängigkeitseigenschaft für das aufrufende DependencyObject angegeben ist. (Von DependencyObject geerbt.) |
|
Equals | Bestimmt, ob ein angegebenes DependencyObject dem aktuellen DependencyObject entspricht. (Von DependencyObject geerbt.) |
|
Finalize | Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der automatische Speicherbereinigung freigegeben wird. (Von Object geerbt.) |
|
GetHashCode | Ruft einen Hashcode für dieses DependencyObject ab. (Von DependencyObject geerbt.) |
|
GetLocalValueEnumerator | Erstellt einen spezialisierten Enumerator, mit dem bestimmt wird, welche Abhängigkeitseigenschaften dieses DependencyObject über lokal festgelegte Werte verfügen. (Von DependencyObject geerbt.) |
|
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) |
|
GetValue | Gibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft in dieser Instanz eines DependencyObject zurück. (Von DependencyObject geerbt.) |
|
InvalidateProperty | Berechnet den effektiven Wert für die angegebene Abhängigkeitseigenschaft neu (Von DependencyObject geerbt.) |
|
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) |
|
OnPropertyChanged | Wird immer dann aufgerufen, wenn der tatsächliche Wert einer Abhängigkeitseigenschaft eines DependencyObject aktualisiert wurde. Die spezifische Abhängigkeitseigenschaft, die sich geändert hat, wird in den Ereignisdaten angegeben. (Von DependencyObject geerbt.) |
|
ReadLocalValue | Gibt, sofern vorhanden, den lokalen Wert einer Abhängigkeitseigenschaft zurück. (Von DependencyObject geerbt.) |
|
SetCurrentValue | Legt den Wert einer -Abhängigkeitseigenschaft fest, ohne die Wertquelle zu ändern. (Von DependencyObject geerbt.) |
|
SetValue(DependencyProperty, Object) | Legt den lokalen Wert einer Abhängigkeitseigenschaft fest, die über ihren Bezeichner angegeben wird. (Von DependencyObject geerbt.) |
|
SetValue(DependencyPropertyKey, Object) | Legt den lokalen Wert einer schreibgeschützten Abhängigkeitseigenschaft fest, die über ihren DependencyPropertyKey-Bezeichner angegeben wird. (Von DependencyObject geerbt.) |
|
ShouldSerializeProperty | Gibt einen Wert zurück, der angibt, ob Serialisierungsprozesse den Wert der bereitgestellten Abhängigkeitseigenschaft serialisieren sollen. (Von DependencyObject geerbt.) |
|
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) |
|
VerifyAccess | Erzwingt, dass der aufrufende Thread auf dieses DispatcherObject zugreifen kann. (Von DispatcherObject geerbt.) |
| Name | Beschreibung | |
|---|---|---|
|
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. |
Jede VisualStateGroup enthält eine Auflistung von VisualState-Objekten. Ein 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. Ein Button könnte z. B. beim Klicken eine etwas andere Darstellung haben als wenn nicht geklickt wird. Zwei Zustände, die Button definiert; sie entsprechen einer gedrückten Taste ("Pressed") und einer nicht gedrückten Taste ("Normal").
Sie fügen VisualState zu einem Steuerelement hinzu, indem Sie die angefügte VisualStateManager.VisualStateGroups-Eigenschaft des Steuerelements festlegen. Sie ordnen Zustände, die sich gegenseitig ausschließen, in derselben VisualStateGroup an. Beispielsweise verfügt die CheckBox über zwei VisualStateGroup-Objekte. Ein Objekt enthält die Zustände Normal, MouseOver, Pressed und Disabled. Das andere Objekt enthält die Zustände Checked, UnChecked und Indeterminate. Die CheckBox kann sich gleichzeitig im Zustand MouseOver und UnChecked befinden, es kann sich jedoch nicht gleichzeitig im Zustand MouseOver und Pressed befinden.
Obwohl Sie jedem Element VisualState-Objekte hinzufügen können, stellen sie eine besonders nützliche Möglichkeit dar, es anderen zu ermöglichen, das visuelle Verhalten eines Control neu zu definieren. Wenn Sie ein benutzerdefiniertes Steuerelement erstellen, das einen ControlTemplate verwendet, können Sie die Zustände angeben, die dieses Steuerelement annehmen kann, indem Sie das TemplateVisualStateAttribute in dessen Klassendefinition hinzufügen. Dann kann jeder, der eine neue ControlTemplate für das Steuerelement erstellt, der Vorlage VisualState-Objekte hinzufügen. Das TemplateVisualStateAttribute aktiviert Designertools, z. B. Expression Blend, um die Zustände des Steuerelements verfügbar zu machen. Zustände mit dem gleichen TemplateVisualStateAttribute.GroupName gehören zur gleichen VisualStateGroup.
Weitere Informationen über die Verwendung von VisualStateGroup-Objekten in einer ControlTemplate finden Sie unter Anpassen der Darstellung eines vorhandenen Steuerelements durch Erstellen einer ControlTemplate. Weitere Informationen zum Erstellen von Steuerelementen, die den VisualStateManager verwenden, finden Sie unter Erstellen eines Steuerelements mit einer anpassbaren Darstellung.
Die Transitions-Eigenschaft enthält VisualTransition-Objekte, die angewendet werden, wenn das Steuerelement zwischen Zuständen wechselt, die in der VisualStateGroup definiert sind.
Im folgenden Beispiel wird eine einfache ControlTemplate für einen Button mit einem Grid erstellt. Außerdem ist die VisualStateGroupCommonStates enthalten, die den MouseOver-Zustand und den Normal-Zustand definiert. Die VisualStateGroup verfügt außerdem über eine VisualTransition, die angibt, dass das Wechseln des Grid von grün zu rot eine halbe Sekunde dauert, wenn der Benutzer die Maus über den Button hält.
<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>
Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.