Язык

VisualState.StateTriggers Свойство

Определение

Возвращает коллекцию объектов StateTriggerBase , указывающих, когда этот VisualState должен применяться. Если какие-либо (не все) триггеры активны, 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)

Значение свойства

Коллекция объектов StateTriggerBase . По умолчанию используется пустая коллекция.

Примеры

В этом примере показано, как использовать свойство StateTriggers с АдаптивнымTrigger для создания декларативного правила в разметке XAML на основе размера окна. По умолчанию ориентация StackPanel имеет значение Vertical. Если ширина окна равна >720 эффективным пикселям, изменение VisualState активируется, а StackPanel ориентация изменяется на 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>

Комментарии

Используйте это свойство для создания правил в XAML, которые указывают, когда применяется определенный VisualState . Вы используете StateTriggers непосредственно в разметке XAML вместо вызова VisualStateManager.GoToState в коде.

Вы можете использовать встроенный АдаптивныйTrigger для создания правил на основе размера окна, что удобно для создания адаптивного пользовательского интерфейса. Вы также можете расширить StateTriggerBase , чтобы создать собственные пользовательские триггеры и использовать их в свойстве StateTriggers.

Дополнительные примеры см. в примере адаптивных методов XAML и в примере триггеров состояния.

Применяется к

См. также раздел