Condividi tramite


VisualState.StateTriggers Proprietà

Definizione

Ottiene un insieme di oggetti StateTriggerBase che indicano quando deve essere applicato questo oggetto VisualState . Se sono attivi (non tutti) dei trigger, verrà applicato .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)

Valore della proprietà

Insieme di oggetti StateTriggerBase . Il valore predefinito è una raccolta vuota.

Esempio

Questo esempio illustra come usare la proprietà StateTriggers con adaptiveTrigger per creare una regola dichiarativa nel markup XAML in base alle dimensioni della finestra. Per impostazione predefinita, l'orientamento di StackPanel è Vertical. Quando la larghezza della finestra è >= 720 pixel effettivi, viene attivata la modifica di VisualState e l'orientamento StackPanel viene modificato in 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>

Commenti

Usare questa proprietà per creare regole in XAML che specificano quando deve essere applicato un oggetto VisualState specifico. Puoi usare StateTriggers direttamente nel markup XAML anziché chiamare VisualStateManager.GoToState nel codice.

È possibile usare AdaptiveTrigger predefinito per creare regole in base alle dimensioni della finestra, utile per la creazione di un'interfaccia utente reattiva. È anche possibile estendere StateTriggerBase per creare trigger personalizzati e usarli all'interno della proprietà StateTriggers.

Per altri esempi, vedi l'esempio di tecniche reattive XAML e l'esempio di trigger di stato.

Si applica a

Vedi anche