VisualStateGroup Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Obsahuje vzájemně se vylučující VisualState objekty a VisualTransition objekty, které se používají k přesunu z jednoho stavu do druhého.
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
- Dědičnost
- Atributy
Příklady
Následující příklad vytvoří jednoduchý ControlTemplate objekt pro objekt Button , který obsahuje jeden Gridobjekt . Obsahuje také pojmenovanou VisualStateGroupCommonStates
, která definuje MouseOver
stavy a Normal
. Má VisualStateGroup také parametr VisualTransition , který určuje, že změna ze zelené na červenou trvá půl sekundy Grid , když uživatel přesune ukazatel myši na 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>
Poznámky
Každý VisualStateGroup obsahuje kolekci VisualState objektů. A VisualState obsahuje kolekci Storyboard objektů, které určují, jak se vzhled ovládacího prvku změní, když je ovládací prvek v určitém stavu. Například Button při stisknutí může mít poněkud jiný vzhled, než když není stisknut. Dva stavy, které definice odpovídají tomu, Button kdy je stisknuta ("Pressed"
) a když není ("Normal"
).
VisualState Přidáte k ovládacímu prvku nastavením VisualStateManager.VisualStateGroups
připojené vlastnosti ovládacího prvku. Státy, které se vzájemně vylučují, umístíte do stejného VisualStateGroup. Například objekt CheckBox má dva VisualStateGroup objekty. Jeden obsahuje stavy , Normal
MouseOver
, Pressed
a Disabled
. Druhá obsahuje stavy , Checked
UnChecked
a Indeterminate
. Objekt CheckBox může být ve stavech MouseOver
a UnChecked
současně, ale nemůže být ve MouseOver
stavech a Pressed
současně.
I když můžete přidat VisualState objekty do libovolného prvku, představují zvláště užitečný způsob, jak ostatním umožnit předefinovat vizuální chování objektu Control. Pokud vytvoříte vlastní ovládací prvek, který používá ControlTemplate, můžete určit, ve kterých stavech může být ovládací prvek, přidáním objektu TemplateVisualStateAttribute do definice třídy. Pak každý, kdo vytvoří nový ControlTemplate pro váš ovládací prvek, může do šablony přidat VisualState objekty. Nástroj TemplateVisualStateAttribute umožňuje nástrojům návrháře, jako je Visual Studio a Blend for Visual Studio, zveřejnit stavy ovládacího prvku. Státy se stejnými TemplateVisualStateAttribute.GroupName patří do stejného VisualStateGroup.
Další informace o použití VisualStateGroup objektů v objektu ControlTemplatenajdete v tématu Přizpůsobení vzhledu existujícího ovládacího prvku vytvořením ovládacího prvkuTemplate. Další informace o tom, jak vytvořit ovládací prvky, které používají , najdete v VisualStateManagertématu Vytvoření ovládacího prvku, který má přizpůsobitelný vzhled.
Vlastnost Transitions obsahuje VisualTransition objekty, které se použijí při přechodu ovládacího prvku mezi stavy, které jsou definovány v VisualStateGroup.
Konstruktory
VisualStateGroup() |
Inicializuje novou instanci VisualStateGroup třídy. |
Vlastnosti
CurrentState |
Získá, VisualState který je aktuálně použit na ovládací prvek. |
DependencyObjectType |
DependencyObjectType Získá, který zabalí typ CLR této instance. (Zděděno od DependencyObject) |
Dispatcher |
Získá přidruženou Dispatcher k tomuto DispatcherObject . (Zděděno od DispatcherObject) |
IsSealed |
Získá hodnotu, která označuje, zda je tato instance aktuálně zapečetěna (jen pro čtení). (Zděděno od DependencyObject) |
Name |
Získá nebo nastaví název VisualStateGroup. |
States |
Získá kolekci vzájemně se vylučujících VisualState objektů. |
Transitions |
Získá kolekci VisualTransition objektů. |
Metody
CheckAccess() |
Určuje, zda má volající vlákno přístup k tomuto DispatcherObject. (Zděděno od DispatcherObject) |
ClearValue(DependencyProperty) |
Vymaže místní hodnotu vlastnosti. Vlastnost, která se má vymazat, je určena identifikátorem DependencyProperty . (Zděděno od DependencyObject) |
ClearValue(DependencyPropertyKey) |
Vymaže místní hodnotu vlastnosti jen pro čtení. Vlastnost, která se má vymazat, je určena parametrem DependencyPropertyKey. (Zděděno od DependencyObject) |
CoerceValue(DependencyProperty) |
Převede hodnotu zadané vlastnosti závislosti. Toho dosáhnete vyvoláním jakékoli CoerceValueCallback funkce zadané v metadatech vlastnosti pro vlastnost závislosti, protože existuje ve volajícím DependencyObjectobjektu . (Zděděno od DependencyObject) |
Equals(Object) |
Určuje, zda je zadaný DependencyObject ekvivalent k aktuálnímu DependencyObject. (Zděděno od DependencyObject) |
GetHashCode() |
Získá hash kód pro tento DependencyObject. (Zděděno od DependencyObject) |
GetLocalValueEnumerator() |
Vytvoří specializovaný enumerátor pro určení vlastností závislostí, které mají místně nastavené hodnoty v tomto DependencyObjectobjektu . (Zděděno od DependencyObject) |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
GetValue(DependencyProperty) |
Vrátí aktuální efektivní hodnotu vlastnosti závislosti na této instanci objektu DependencyObject. (Zděděno od DependencyObject) |
InvalidateProperty(DependencyProperty) |
Znovu vyhodnotí efektivní hodnotu pro zadanou vlastnost závislosti. (Zděděno od DependencyObject) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Vyvolá se vždy, když byla aktualizována efektivní hodnota jakékoli vlastnosti závislosti na této DependencyObject vlastnosti. Specifická vlastnost závislosti, která se změnila, je hlášena v datech události. (Zděděno od DependencyObject) |
ReadLocalValue(DependencyProperty) |
Vrátí místní hodnotu vlastnosti závislosti, pokud existuje. (Zděděno od DependencyObject) |
SetCurrentValue(DependencyProperty, Object) |
Nastaví hodnotu vlastnosti závislosti beze změny jejího zdroje hodnoty. (Zděděno od DependencyObject) |
SetValue(DependencyProperty, Object) |
Nastaví místní hodnotu vlastnosti závislosti určenou identifikátorem vlastnosti závislosti. (Zděděno od DependencyObject) |
SetValue(DependencyPropertyKey, Object) |
Nastaví místní hodnotu vlastnosti závislosti jen pro čtení určenou DependencyPropertyKey identifikátorem vlastnosti závislosti. (Zděděno od DependencyObject) |
ShouldSerializeProperty(DependencyProperty) |
Vrátí hodnotu, která označuje, zda serializační procesy mají serializovat hodnotu pro zadanou vlastnost závislosti. (Zděděno od DependencyObject) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
VerifyAccess() |
Vynutí, aby volající vlákno má přístup k tomuto DispatcherObject. (Zděděno od DispatcherObject) |
Událost
CurrentStateChanged |
Nastane po přechodu ovládacího prvku do jiného stavu. |
CurrentStateChanging |
Nastane, když ovládací prvek začne přecházet do jiného stavu. |