VisualStateGroup Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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 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ą, jak zmienia się wygląd 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
, Pressed
i Disabled
. Druga zawiera stany, Checked
, UnChecked
i 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. Dzięki TemplateVisualStateAttribute temu narzędzia projektanta, takie jak Visual Studio i Blend for Visual Studio, umożliwiają uwidocznienie 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 |
DependencyObjectType Pobiera opakowujący 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 DependencyPropertyKeyelement . (Odziedziczone po DependencyObject) |
CoerceValue(DependencyProperty) |
Coerce 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 pliku DependencyObject. (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 w tym DependencyObjectelemecie . (Odziedziczone po DependencyObject) |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
GetValue(DependencyProperty) |
Zwraca bieżącą obowiązującą wartość właściwości zależności dla tego wystąpienia obiektu 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 obowiązująca wartość dowolnej właściwości zależności została DependencyObject zaktualizowana. Określona właściwość zależności, która uległa zmianie, 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 zmiany źródła wartości. (Odziedziczone po DependencyObject) |
SetValue(DependencyProperty, Object) |
Ustawia wartość lokalną właściwości zależności określonej przez jego 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ślona 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ść 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. |