VisualStateGroup Klasa

Definicja

Zawiera wzajemnie wykluczające VisualState się obiekty i VisualTransition obiekty używane do przenoszenia z jednego stanu do innego.

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
Dziedziczenie
Atrybuty

Przykłady

Poniższy przykład umożliwia utworzenie prostego ControlTemplate elementu zawierającego Button element Grid. Zawiera VisualStateGroup również nazwę CommonStates, która definiuje MouseOver stany i Normal . Element VisualStateGroup ma również wartość określającą VisualTransition , że zmiana z kolorem zielonym na czerwony trwa jedną połowę sekundy Grid , gdy użytkownik przesuwa wskaźnik myszy nad elementem 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>

Uwagi

Każda z nich VisualStateGroup zawiera kolekcję VisualState obiektów. Element VisualState zawiera kolekcję Storyboard obiektów, które określają sposób zmiany wyglądu kontrolki, gdy kontrolka jest w określonym stanie. Na przykład element Button może mieć nieco inny wygląd, gdy jest on naciskany niż wtedy, gdy nie jest naciskany. Dwa stany, które Button definiują, odpowiadają, gdy jest on naciśnięty ("Pressed") i gdy nie jest ("Normal").

VisualState Dodasz do kontrolki, ustawiając dołączoną VisualStateManager.VisualStateGroups właściwość w kontrolce. Umieszczasz stany, które wzajemnie się wykluczają w tym samym VisualStateGroupobiekcie . Na przykład obiekt CheckBox ma dwa VisualStateGroup obiekty. Jeden zawiera stany, Normal, MouseOver, Pressedi Disabled. Druga zawiera stany, Checked, UnCheckedi Indeterminate. Może CheckBox być w stanach MouseOver i UnChecked jednocześnie, ale nie może być w MouseOver stanach i Pressed w tym samym czasie.

Chociaż można dodawać VisualState obiekty do dowolnego elementu, są one szczególnie przydatnym sposobem na ponowne zdefiniowanie zachowania wizualnego elementu Control. Jeśli tworzysz niestandardową kontrolkę używającą klasy ControlTemplate, możesz określić stany, w których może znajdować się kontrolka, dodając definicję TemplateVisualStateAttribute klasy. Następnie każda osoba tworząca nową ControlTemplate kontrolkę może dodawać VisualState obiekty do szablonu. Program TemplateVisualStateAttribute umożliwia projektantowi narzędzia, takie jak Visual Studio i Blend for Visual Studio, w celu uwidocznienia stanów kontrolki. Stany o tej samej TemplateVisualStateAttribute.GroupName własności należą do tego samego VisualStateGroup.

Aby uzyskać więcej informacji na temat używania VisualStateGroup obiektów w elemecie ControlTemplate, zobacz Dostosowywanie wyglądu istniejącej kontrolki przez tworzenie kontrolkiTemplate. Aby uzyskać więcej informacji na temat tworzenia kontrolek korzystających z elementu VisualStateManager, zobacz Tworzenie kontrolki, która ma dostosowywalny wygląd.

Właściwość Transitions zawiera VisualTransition obiekty, które są stosowane w przypadku przejścia kontrolki między stanami zdefiniowanymi w obiekcie VisualStateGroup.

Konstruktory

VisualStateGroup()

Inicjuje nowe wystąpienie klasy VisualStateGroup.

Właściwości

CurrentState

VisualState Pobiera element, który jest obecnie stosowany do kontrolki.

DependencyObjectType

Pobiera klasę DependencyObjectType , która opakowuje typ CLR tego wystąpienia.

(Odziedziczone po DependencyObject)
Dispatcher

Dispatcher Pobiera tę DispatcherObject wartość skojarzona z.

(Odziedziczone po DispatcherObject)
IsSealed

Pobiera wartość wskazującą, czy to wystąpienie jest obecnie zapieczętowane (tylko do odczytu).

(Odziedziczone po DependencyObject)
Name

Pobiera lub ustawia nazwę elementu VisualStateGroup.

States

Pobiera kolekcję wzajemnie wykluczających VisualState się obiektów.

Transitions

Pobiera kolekcję VisualTransition obiektów.

Metody

CheckAccess()

Określa, czy wątek wywołujący ma dostęp do tego DispatcherObjectelementu .

(Odziedziczone po DispatcherObject)
ClearValue(DependencyProperty)

Czyści wartość lokalną właściwości. Właściwość do wyczyszczenia jest określana przez DependencyProperty identyfikator.

(Odziedziczone po DependencyObject)
ClearValue(DependencyPropertyKey)

Czyści wartość lokalną właściwości tylko do odczytu. Właściwość do wyczyszczenia jest określana przez element DependencyPropertyKey.

(Odziedziczone po DependencyObject)
CoerceValue(DependencyProperty)

Przekształca wartość określonej właściwości zależności. Jest to realizowane przez wywołanie dowolnej CoerceValueCallback funkcji określonej w metadanych właściwości dla właściwości zależności, ponieważ istnieje w wywołaniu DependencyObject.

(Odziedziczone po DependencyObject)
Equals(Object)

Określa, czy podany DependencyObject element jest odpowiednikiem bieżącego DependencyObjectelementu .

(Odziedziczone po DependencyObject)
GetHashCode()

Pobiera kod skrótu dla tego DependencyObjectpliku .

(Odziedziczone po DependencyObject)
GetLocalValueEnumerator()

Tworzy wyspecjalizowany moduł wyliczający do określania, które właściwości zależności mają lokalnie ustawione wartości dla tego DependencyObjectelementu .

(Odziedziczone po DependencyObject)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
GetValue(DependencyProperty)

Zwraca bieżącą obowiązującą wartość właściwości zależności dla tego wystąpienia klasy DependencyObject.

(Odziedziczone po DependencyObject)
InvalidateProperty(DependencyProperty)

Ponownie oblicza efektywną wartość dla określonej właściwości zależności.

(Odziedziczone po DependencyObject)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Wywoływane za każdym razem, gdy zostanie zaktualizowana efektywna wartość dowolnej właściwości DependencyObject zależności. Określona właściwość zależności, która została zmieniona, jest zgłaszana w danych zdarzenia.

(Odziedziczone po DependencyObject)
ReadLocalValue(DependencyProperty)

Zwraca wartość lokalną właściwości zależności, jeśli istnieje.

(Odziedziczone po DependencyObject)
SetCurrentValue(DependencyProperty, Object)

Ustawia wartość właściwości zależności bez zmieniania jej źródła wartości.

(Odziedziczone po DependencyObject)
SetValue(DependencyProperty, Object)

Ustawia wartość lokalną właściwości zależności określonej przez jej identyfikator właściwości zależności.

(Odziedziczone po DependencyObject)
SetValue(DependencyPropertyKey, Object)

Ustawia wartość lokalną właściwości zależności tylko do odczytu określonej przez DependencyPropertyKey identyfikator właściwości zależności.

(Odziedziczone po DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Zwraca wartość wskazującą, czy procesy serializacji powinny serializować wartość dla podanej właściwości zależności.

(Odziedziczone po DependencyObject)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
VerifyAccess()

Wymusza, że wątek wywołujący ma dostęp do tego DispatcherObjectelementu .

(Odziedziczone po DispatcherObject)

Zdarzenia

CurrentStateChanged

Występuje po przejściu kontrolki do innego stanu.

CurrentStateChanging

Występuje, gdy kontrolka zaczyna przechodzić do innego stanu.

Dotyczy