Compartilhar via


VisualState.StateTriggers Propriedade

Definição

Obtém uma coleção de objetos StateTriggerBase que indicam quando esse VisualState deve ser aplicado. Se algum (nem todos) dos gatilhos estiver ativo, o VisualState será aplicado.

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)

Valor da propriedade

Uma coleção de objetos StateTriggerBase . O padrão é uma coleção vazia.

Exemplos

Este exemplo mostra como usar a propriedade StateTriggers com um AdaptiveTrigger para criar uma regra declarativa na marcação XAML com base no tamanho da janela. Por padrão, a orientação stackpanel é Vertical. Quando a largura da janela é >= 720 pixels efetivos, a alteração do VisualState é disparada e a StackPanel orientação é alterada para 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>

Comentários

Use essa propriedade para criar regras em XAML que especificam quando um VisualState específico deve ser aplicado. Você usa StateTriggers diretamente em sua marcação XAML em vez de chamar VisualStateManager.GoToState em seu código.

Você pode usar o AdaptiveTrigger interno para criar regras com base no tamanho da janela, o que é útil para criar uma interface do usuário responsiva. Você também pode estender StateTriggerBase para criar seus próprios gatilhos personalizados e usá-los dentro da propriedade StateTriggers.

Para obter mais exemplos, consulte o exemplo técnicas responsivas XAML e o exemplo gatilhos de estado.

Aplica-se a

Confira também