Поделиться через


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 с AdaptiveTrigger для создания декларативного правила в разметке 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 в коде .

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

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

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

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