VisualStateGroup Třída

Definice

Obsahuje vzájemně se vylučující VisualState objekty a VisualTransition objekty, které se používají k přechodu 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ý VisualStateGroup název CommonStates, který definuje MouseOver a Normal stavy. Má VisualStateGroup také VisualTransition hodnotu, která určuje, že změna ze zelené na červenou trvá, 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 může mít trochu jiný vzhled, Button když je stisknut, než když není stisknut. Dva stavy, že Button definice odpovídají při stisknutí ("Pressed") a kdy není ("Normal").

Ovládací prvek přidáte VisualState nastavením VisualStateManager.VisualStateGroups připojené vlastnosti ovládacího prvku. Dáváte státy, které se vzájemně vylučují do stejného VisualStateGroup. Například má CheckBox dva VisualStateGroup objekty. Jeden obsahuje stavy, , Normal``MouseOver, Presseda Disabled. Ostatní obsahují státy, , Checked``UnCheckeda Indeterminate. Může CheckBox být ve stavech MouseOver a UnChecked současně, ale nemůže být ve MouseOver stejnou dobu a Pressed stavy.

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í Control. Pokud vytvoříte vlastní ovládací prvek, který používá , ControlTemplatemůžete určit, ve kterých stavech může být ovládací prvek, přidáním TemplateVisualStateAttribute do definice jeho 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 jsou 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 objektu ControlTemplatenaleznete v tématu Přizpůsobení vzhledu existujícího ovládacího prvku vytvořením ControlTemplate. 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é 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

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

Získá to DispatcherObject je přidruženoDispatcher.

(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

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. To se provádí 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ávislostí mají místně nastavené hodnoty na tomto DependencyObject.

(Zděděno od DependencyObject)
GetType()

Type Získá aktuální 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ří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Vyvolá se při každé aktualizaci efektivní hodnoty jakékoli vlastnosti závislosti na této DependencyObject vlastnosti. Specifická vlastnost závislostí, 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 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 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ávislostí.

(Zděděno od DependencyObject)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
VerifyAccess()

Vynucuje, aby volající vlákno má k tomuto DispatcherObjectpřístupu přístup .

(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.

Platí pro