다음을 통해 공유


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 방향은 세로입니다. 창 너비가 >= 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>

설명

이 속성을 사용하여 특정 VisualState 를 적용할 시기를 지정하는 규칙을 XAML에 만듭니다. 코드에서 VisualStateManager.GoToState 를 호출하는 대신 XAML 태그에서 직접 StateTriggers를 사용합니다.

기본 제공 AdaptiveTrigger 를 사용하여 창 크기에 따라 규칙을 만들 수 있습니다. 이는 반응형 UI를 만드는 데 유용합니다. StateTriggerBase를 확장하여 고유한 사용자 지정 트리거를 만들고 StateTriggers 속성 내에서 사용할 수도 있습니다.

자세한 예제는 XAML 반응형 기술 샘플상태 트리거 샘플을 참조하세요.

적용 대상

추가 정보