Share via


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 的時間。 您直接在 XAML 標記中使用 StateTriggers ,而不是在程式碼中呼叫 VisualStateManager.GoToState

您可以使用內建 AdaptiveTrigger 來根據視窗大小建立規則,這適用于建立回應式 UI。 您也可以擴充 StateTriggerBase 來建立自己的自訂觸發程式,並在 StateTriggers 屬性內使用這些觸發程式。

如需更多範例,請參閱 XAML 回應技術範例狀態觸發程式範例

適用於

另請參閱