VisualState.StateTriggers プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
この VisualState を適用するタイミングを示す StateTriggerBase オブジェクトのコレクションを取得します。 いずれかのトリガー (すべてではない) がアクティブな場合、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 オブジェクトのコレクション。 既定値は空のコレクションです。
例
この例では、 AdaptiveTrigger で StateTriggers プロパティを使用して、ウィンドウ サイズに基づいて 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>
注釈
このプロパティを使用して、特定の VisualState を適用するタイミングを指定するルールを XAML で作成します。 コードで VisualStateManager.GoToState を呼び出す代わりに、XAML マークアップで StateTriggers を直接使用します。
組み込みの AdaptiveTrigger を使用して、ウィンドウ サイズに基づいてルールを作成できます。これは、応答性の高い UI の作成に役立ちます。 StateTriggerBase を拡張して独自のカスタム トリガーを作成し、StateTriggers プロパティ内で使用することもできます。
その他の例については、 XAML 応答性の高い手法のサンプル と 状態トリガーのサンプルを参照してください。