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 pro Button ten, který obsahuje jeden Grid. Obsahuje také pojmenovaný CommonStates, VisualStateGroup který definuje MouseOver a Normal stavy. Má VisualStateGroup také VisualTransition , který určuje, že trvá jednu půl sekundu Grid , než se změna ze zelené na červenou, 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 může mít trochu jiný vzhled, Button když je stisknuto, než když není stisknuto. Dva stavy, že Button definice odpovídají, když je stisknuta ("Pressed") a kdy není ("Normal").
Do ovládacího prvku se přidá VisualState nastavením VisualStateManager.VisualStateGroups připojené vlastnosti ovládacího prvku. Dáváte stavy, které se vzájemně vylučují ve stejném VisualStateGroup. Například má CheckBox dva VisualStateGroup objekty. Jeden obsahuje stavy, Normal, MouseOver, Pressed, a Disabled. Druhý obsahuje stavy, Checked, UnChecked, a Indeterminate. Může CheckBox být ve stavech MouseOver a UnChecked současně, ale nemůže být ve stejnou dobu v MouseOver a Pressed ve státech.
I když můžete přidat VisualState objekty do libovolného prvku, jsou zvlášť užitečným způsobem, 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 TemplateVisualStateAttribute jeho definice třídy. Každý, kdo pro váš ovládací prvek vytvoří nový ControlTemplate , pak může do šablony přidat VisualState objekty. Nástroje TemplateVisualStateAttribute návrháře, jako je Visual Studio a Blend pro Visual Studio, umožňují vystavit 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 ovládacím ControlTemplateprvku naleznete v tématu Jak vytvořit šablonu pro ovládací prvek. Další informace o vytváření ovládacích prvků, které používají ovládací VisualStateManagerprvky , naleznete v tématu Vytvoření ovládacího prvku, který má přizpůsobitelný vzhled.
Vlastnost Transitions obsahuje VisualTransition objekty, které jsou použity při ovládacího prvku přechod mezi stavy, které jsou definovány VisualStateGroupv .
Konstruktory
| Name | Description |
|---|---|
| VisualStateGroup() |
Inicializuje novou instanci VisualStateGroup třídy. |
Vlastnosti
| Name | Description |
|---|---|
| CurrentState |
VisualState Získá, který je aktuálně použit pro ovládací prvek. |
| DependencyObjectType |
DependencyObjectType Získá ten, který zabalí typ CLR této instance. (Zděděno od DependencyObject) |
| Dispatcher |
Dispatcher Získá toto DispatcherObject je přidružené. (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ě vylučujících VisualState objektů. |
| Transitions |
Získá kolekci VisualTransition objektů. |
Metody
| Name | Description |
|---|---|
| CheckAccess() |
Určuje, zda volající vlákno má 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á má být vymazána, je určena parametrem DependencyPropertyKey. (Zděděno od DependencyObject) |
| CoerceValue(DependencyProperty) |
Převede hodnotu zadané vlastnosti závislosti. Toho se dosahuje vyvoláním jakékoli CoerceValueCallback funkce zadané v metadatech vlastností pro vlastnost závislosti, protože existuje ve volání DependencyObject. (Zděděno od DependencyObject) |
| Equals(Object) |
Určuje, zda je poskytnutá DependencyObject hodnota ekvivalentní 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í, které vlastnosti závislosti mají místně nastavené hodnoty na tomto DependencyObject. (Zděděno od DependencyObject) |
| GetType() |
Získá Type aktuální instance. (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 Object. (Zděděno od Object) |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Vyvolána vždy, když byla aktualizována efektivní hodnota jakékoli vlastnosti závislosti na této DependencyObject vlastnosti. Konkrétní 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 hodnot. (Zděděno od DependencyObject) |
| SetValue(DependencyProperty, Object) |
Nastaví místní hodnotu vlastnosti závislosti určenou jeho 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 identifikátorem DependencyPropertyKey vlastnosti závislosti. (Zděděno od DependencyObject) |
| ShouldSerializeProperty(DependencyProperty) |
Vrátí hodnotu, která určuje, zda procesy serializace 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() |
Vynucuje, že volající vlákno má přístup k tomuto DispatcherObject. (Zděděno od DispatcherObject) |
Událost
| Name | Description |
|---|---|
| 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. |