VisualStateGroup Klass

Definition

Innehåller ömsesidigt uteslutande VisualState objekt och VisualTransition objekt som används för att flytta från ett tillstånd till ett annat.

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
Arv
Attribut

Exempel

I följande exempel skapas en enkel ControlTemplate för en Button som innehåller en Grid. Den innehåller också ett VisualStateGroup med namnet CommonStates, som definierar tillstånden MouseOver och Normal . Har VisualStateGroup också en VisualTransition som anger att det tar en halv sekund för Grid att ändra från grönt till rött när användaren flyttar muspekaren över 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>

Kommentarer

Var och VisualStateGroup en innehåller en samling VisualState objekt. En VisualState innehåller en samling Storyboard objekt som anger hur kontrollens utseende ändras när kontrollen är i ett visst tillstånd. En kan till exempel Button ha ett något annorlunda utseende när den trycks in än när den inte trycks. Två tillstånd som Button definierar motsvarar när det trycks ("Pressed") och när det inte är ("Normal").

Du lägger till VisualState i en kontroll genom att ange den VisualStateManager.VisualStateGroups anslutna egenskapen för kontrollen. Du placerar stater som är ömsesidigt uteslutande för varandra i samma VisualStateGroup. Till exempel CheckBox har två VisualStateGroup objekt. En innehåller tillstånden , Normal, MouseOver, Pressedoch Disabled. Den andra innehåller tillstånden , Checked, UnCheckedoch Indeterminate. CheckBox Kan vara i tillstånd MouseOver och UnChecked på samma gång, men det kan inte vara i tillstånden MouseOver och Pressed samtidigt.

Även om du kan lägga till VisualState objekt i alla element är de ett särskilt användbart sätt att göra det möjligt för andra att omdefiniera det visuella beteendet för en Control. Om du skapar en anpassad kontroll som använder en ControlTemplatekan du ange vilka tillstånd som kontrollen kan finnas i genom att lägga till en TemplateVisualStateAttribute i dess klassdefinition. Sedan kan alla som skapar en ny ControlTemplate för din kontroll lägga till VisualState objekt i mallen. Med TemplateVisualStateAttribute kan designerverktyg, till exempel Visual Studio och Blend för Visual Studio, exponera kontrollens tillstånd. Tillstånd med samma TemplateVisualStateAttribute.GroupName hör hemma i samma VisualStateGroup.

Mer information om hur du använder VisualStateGroup objekt i en ControlTemplatefinns i Skapa en mall för en kontroll. Mer information om hur du skapar kontroller som använder finns i VisualStateManagerSkapa en kontroll som har ett anpassningsbart utseende.

Egenskapen Transitions innehåller VisualTransition objekt som tillämpas när kontrollövergången mellan tillstånd som definieras i VisualStateGroup.

Konstruktorer

Name Description
VisualStateGroup()

Initierar en ny instans av VisualStateGroup klassen.

Egenskaper

Name Description
CurrentState

Hämtar den VisualState som för närvarande tillämpas på kontrollen.

DependencyObjectType

DependencyObjectType Hämtar som omsluter CLR-typen för den här instansen.

(Ärvd från DependencyObject)
Dispatcher

Hämtar det Dispatcher som DispatcherObject är associerat med.

(Ärvd från DispatcherObject)
IsSealed

Hämtar ett värde som anger om den här instansen för närvarande är förseglad (skrivskyddad).

(Ärvd från DependencyObject)
Name

Hämtar eller anger namnet på VisualStateGroup.

States

Hämtar samlingen av ömsesidigt uteslutande VisualState objekt.

Transitions

Hämtar samlingen med VisualTransition objekt.

Metoder

Name Description
CheckAccess()

Avgör om den anropande tråden har åtkomst till den här DispatcherObject.

(Ärvd från DispatcherObject)
ClearValue(DependencyProperty)

Rensar det lokala värdet för en egenskap. Egenskapen som ska rensas anges av en DependencyProperty identifierare.

(Ärvd från DependencyObject)
ClearValue(DependencyPropertyKey)

Rensar det lokala värdet för en skrivskyddad egenskap. Egenskapen som ska rensas anges av en DependencyPropertyKey.

(Ärvd från DependencyObject)
CoerceValue(DependencyProperty)

Tvingar fram värdet för den angivna beroendeegenskapen. Detta uppnås genom att anropa alla CoerceValueCallback funktioner som anges i egenskapsmetadata för beroendeegenskapen eftersom den finns på anropet DependencyObject.

(Ärvd från DependencyObject)
Equals(Object)

Avgör om en angivet DependencyObject motsvarar den aktuella DependencyObject.

(Ärvd från DependencyObject)
GetHashCode()

Hämtar en hash-kod för den här DependencyObject.

(Ärvd från DependencyObject)
GetLocalValueEnumerator()

Skapar en specialiserad uppräknare för att avgöra vilka beroendeegenskaper som har lokalt angivna värden för den här DependencyObject.

(Ärvd från DependencyObject)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
GetValue(DependencyProperty)

Returnerar det aktuella effektiva värdet för en beroendeegenskap för den här instansen av en DependencyObject.

(Ärvd från DependencyObject)
InvalidateProperty(DependencyProperty)

Utvärderar det effektiva värdet för den angivna beroendeegenskapen igen.

(Ärvd från DependencyObject)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Anropas när det effektiva värdet för någon beroendeegenskap DependencyObject har uppdaterats. Den specifika beroendeegenskap som ändrades rapporteras i händelsedata.

(Ärvd från DependencyObject)
ReadLocalValue(DependencyProperty)

Returnerar det lokala värdet för en beroendeegenskap, om den finns.

(Ärvd från DependencyObject)
SetCurrentValue(DependencyProperty, Object)

Anger värdet för en beroendeegenskap utan att ändra dess värdekälla.

(Ärvd från DependencyObject)
SetValue(DependencyProperty, Object)

Anger det lokala värdet för en beroendeegenskap som anges av dess beroendeegenskapsidentifierare.

(Ärvd från DependencyObject)
SetValue(DependencyPropertyKey, Object)

Anger det lokala värdet för en skrivskyddad beroendeegenskap som anges av identifieraren DependencyPropertyKey för beroendeegenskapen.

(Ärvd från DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Returnerar ett värde som anger om serialiseringsprocesser ska serialisera värdet för den angivna beroendeegenskapen.

(Ärvd från DependencyObject)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)
VerifyAccess()

Framtvingar att den anropande tråden har åtkomst till den här DispatcherObject.

(Ärvd från DispatcherObject)

Händelser

Name Description
CurrentStateChanged

Inträffar efter att en kontroll övergår till ett annat tillstånd.

CurrentStateChanging

Inträffar när en kontroll börjar övergå till ett annat tillstånd.

Gäller för