VisualState.StateTriggers Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.