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