Share via


VisualState.StateTriggers Eigenschaft

Definition

Ruft eine Auflistung von StateTriggerBase-Objekten ab, die angeben, wann dieser VisualState angewendet werden soll. Wenn (nicht alle) der Trigger aktiv sind, wird angewendet VisualState .

public:
 property IVector<StateTriggerBase ^> ^ StateTriggers { IVector<StateTriggerBase ^> ^ get(); };
IVector<StateTriggerBase> StateTriggers();
public IList<StateTriggerBase> StateTriggers { get; }
var iVector = visualState.stateTriggers;
Public ReadOnly Property StateTriggers As IList(Of StateTriggerBase)

Eigenschaftswert

Eine Auflistung von StateTriggerBase-Objekten . Der Standard ist eine leere Auflistung.

Beispiele

In diesem Beispiel wird gezeigt, wie die StateTriggers-Eigenschaft mit einem AdaptiveTrigger verwendet wird, um eine deklarative Regel im XAML-Markup basierend auf der Fenstergröße zu erstellen. Standardmäßig ist Verticaldie StackPanel-Ausrichtung . Wenn die Fensterbreite = 720 effektive Pixel beträgt >, wird die VisualState-Änderung ausgelöst, und die StackPanel Ausrichtung wird in Horizontalgeändert.

<Page>
    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <VisualStateManager.VisualStateGroups>
            <VisualStateGroup>
                <VisualState>
                    <VisualState.StateTriggers>
                    <!--VisualState to be triggered when window width is >=720 effective pixels.-->
                        <AdaptiveTrigger MinWindowWidth="720" />
                    </VisualState.StateTriggers>

                    <VisualState.Setters>
                        <Setter Target="myPanel.Orientation" Value="Horizontal" />
                    </VisualState.Setters>
                </VisualState>
            </VisualStateGroup>
        </VisualStateManager.VisualStateGroups>
        <StackPanel x:Name="myPanel" Orientation="Vertical">
            <TextBlock Text="This is a block of text. It is text block 1. " 
                       Style="{ThemeResource BodyTextBlockStyle}"/>
            <TextBlock Text="This is a block of text. It is text block 2. " 
                       Style="{ThemeResource BodyTextBlockStyle}"/>
            <TextBlock Text="This is a block of text. It is text block 3. " 
                       Style="{ThemeResource BodyTextBlockStyle}"/>
        </StackPanel>
    </Grid>
</Page>

Hinweise

Verwenden Sie diese Eigenschaft, um Regeln in XAML zu erstellen, die angeben, wann ein bestimmter VisualState angewendet werden soll. Sie verwenden StateTriggers direkt in Ihrem XAML-Markup, anstatt VisualStateManager.GoToState im Code aufzurufen.

Sie können den integrierten AdaptiveTrigger verwenden, um Regeln basierend auf der Fenstergröße zu erstellen, was für die Erstellung einer reaktionsfähigen Benutzeroberfläche nützlich ist. Sie können StateTriggerBase auch erweitern, um ihre eigenen benutzerdefinierten Trigger zu erstellen und sie innerhalb der StateTriggers-Eigenschaft zu verwenden.

Weitere Beispiele finden Sie im Xaml-Beispiel für reaktionsfähige Techniken und im Beispiel für Zustandstrigger.

Gilt für:

Weitere Informationen