VisualState.StateTriggers Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.