Freigeben über


VisualState.StateTriggers Eigenschaft

Definition

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

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

Dieses Beispiel zeigt, wie Sie die StateTriggers-Eigenschaft mit einem AdaptiveTrigger verwenden, um eine deklarative Regel im XAML-Markup basierend auf der Fenstergröße zu erstellen. Standardmäßig ist die StackPanel-Ausrichtungvertikal. Wenn die Fensterbreite = 720 effektive Pixel beträgt >, wird die VisualState-Änderung ausgelöst, und die StackPanel-Ausrichtung wird in Horizontal geä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 das integrierte AdaptiveTrigger verwenden, um Regeln basierend auf der Fenstergröße zu erstellen, was für das Erstellen einer reaktionsfähigen Benutzeroberfläche nützlich ist. Sie können StateTriggerBase auch erweitern, um ihre eigenen benutzerdefinierten Trigger zu erstellen und diese in 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