VisualState.StateTriggers プロパティ

定義

この 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 応答性の高い手法のサンプル状態トリガーのサンプルを参照してください。

適用対象

こちらもご覧ください