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