Condividi tramite


VisualState.StateTriggers Proprietà

Definizione

Ottiene un insieme di oggetti StateTriggerBase che indicano quando è necessario applicare VisualState . Se non tutti i trigger sono attivi, 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

In questo esempio viene illustrato come usare la proprietà StateTriggers con un AdaptiveTrigger per creare una regola dichiarativa nel markup XAML in base alle dimensioni della finestra. Per impostazione predefinita, l'orientamento stackPanel è Verticale. Quando la larghezza della finestra è >= 720 pixel effettivi, viene attivata la modifica VisualState e l'orientamento stackPanel viene modificato in Orizzontale.

<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 viene applicato un oggetto VisualState specifico. È possibile 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, utili 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, vedere l'esempio di Tecniche reattive XAML e l'esempio trigger di stato.

Si applica a

Vedi anche