Partager via


VisualState.StateTriggers Propriété

Définition

Obtient une collection d’objets StateTriggerBase qui indiquent quand ce VisualState doit être appliqué. Si l’un des déclencheurs (pas tous) est actif, le VisualState est appliqué.

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)

Valeur de propriété

Collection d’objets StateTriggerBase . La valeur par défaut est une collection vide.

Exemples

Cet exemple montre comment utiliser la propriété StateTriggers avec un AdaptiveTrigger pour créer une règle déclarative dans le balisage XAML en fonction de la taille de la fenêtre. Par défaut, l’orientation StackPanel est Vertical. Lorsque la largeur de la fenêtre est >= 720 pixels effectifs, la modification VisualState est déclenchée et l’orientation StackPanel est remplacée par Horizontal.

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

Remarques

Utilisez cette propriété pour créer des règles en XAML qui spécifient quand un VisualState particulier doit être appliqué. Vous utilisez StateTriggers directement dans votre balisage XAML au lieu d’appeler VisualStateManager.GoToState dans votre code.

Vous pouvez utiliser adaptiveTrigger intégré pour créer des règles basées sur la taille de la fenêtre, ce qui est utile pour créer une interface utilisateur réactive. Vous pouvez également étendre StateTriggerBase pour créer vos propres déclencheurs personnalisés et les utiliser dans la propriété StateTriggers.

Pour obtenir d’autres exemples, consultez l’exemple de techniques réactives XAML et l’exemple déclencheurs d’état.

S’applique à

Voir aussi