다음을 통해 공유


AdaptiveTrigger 클래스

정의

창 속성에 따라 시각적 상태를 적용하는 선언적 규칙을 나타냅니다.

/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class AdaptiveTrigger : StateTriggerBase
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class AdaptiveTrigger : StateTriggerBase
Public Class AdaptiveTrigger
Inherits StateTriggerBase
<AdaptiveTrigger .../>
상속
Object IInspectable DependencyObject StateTriggerBase AdaptiveTrigger
특성

Windows 요구 사항

디바이스 패밀리
Windows 10 (10.0.10240.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)

예제

자세한 정보, 디자인 지침 및 코드 예제는 XAML을 사용한 반응형 레이아웃을 참조하세요.

WinUI 2 갤러리 앱이 설치된 경우 앱을 열어 실행 중인 컨트롤을 확인합니다.

이 예제에서는 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>

자세한 샘플은 상태 트리거 샘플을 참조하세요.

설명

AdaptiveTriggers를 사용하여 창이 지정된 높이 또는 너비일 때 VisualState 변경을 자동으로 트리거하는 규칙을 만듭니다. XAML 태그에서 AdaptiveTriggers를 사용하는 경우 Window.SizeChanged 이벤트를 처리하고 코드에서 VisualStateManager.GoToState 를 호출할 필요가 없습니다. 또한 VisualStateManager에서 AdaptiveTriggers를 사용하는 경우 이러한 적응형 변경 내용이 Microsoft Visual Studio의 XAML 디자인 화면에서 직접 미치는 영향을 확인할 수 있습니다.

MinWindowWidthMinWindowHeight 속성을 독립적으로 또는 서로 함께 사용할 수 있습니다. 이 XAML은 두 속성을 함께 사용하는 예제를 보여 줍니다. 트리거는 현재 창 너비가 = 720 유효 픽셀이고 >현재 창 높이가 = 900 유효 픽셀인 경우 해당 VisualState가 >적용됨을 나타냅니다.

<AdaptiveTrigger MinWindowWidth="720" MinWindowHeight="900"/>

생성자

AdaptiveTrigger()

AdaptiveTrigger 클래스의 새 instance 초기화합니다.

속성

Dispatcher

이 개체가 연결된 CoreDispatcher 를 가져옵니다. CoreDispatcher는 코드가 비 UI 스레드에서 시작된 경우에도 UI 스레드에서 DependencyObject에 액세스할 수 있는 기능을 나타냅니다.

(다음에서 상속됨 DependencyObject)
MinWindowHeight

VisualState를 적용할 최소 창 높이를 가져오거나 설정합니다.

MinWindowHeightProperty

MinWindowHeight 종속성 속성을 식별합니다.

MinWindowWidth

VisualState를 적용할 최소 창 너비를 가져오거나 설정합니다.

MinWindowWidthProperty

MinWindowWidth 종속성 속성을 식별합니다.

메서드

ClearValue(DependencyProperty)

종속성 속성의 로컬 값을 지웁니다.

(다음에서 상속됨 DependencyObject)
GetAnimationBaseValue(DependencyProperty)

애니메이션이 활성화되지 않은 경우 적용되는 종속성 속성에 대해 설정된 모든 기본 값을 반환합니다.

(다음에서 상속됨 DependencyObject)
GetValue(DependencyProperty)

DependencyObject에서 종속성 속성의 현재 유효 값을 반환합니다.

(다음에서 상속됨 DependencyObject)
ReadLocalValue(DependencyProperty)

로컬 값이 설정된 경우 종속성 속성의 로컬 값을 반환합니다.

(다음에서 상속됨 DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

DependencyObject instance 특정 DependencyProperty의 변경 내용을 수신 대기하기 위한 알림 함수를 등록합니다.

(다음에서 상속됨 DependencyObject)
SetActive(Boolean)

상태 트리거가 활성 상태인지 여부를 나타내는 값을 설정합니다.

(다음에서 상속됨 StateTriggerBase)
SetValue(DependencyProperty, Object)

DependencyObject에서 종속성 속성의 로컬 값을 설정합니다.

(다음에서 상속됨 DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

RegisterPropertyChangedCallback을 호출하여 이전에 등록된 변경 알림을 취소합니다.

(다음에서 상속됨 DependencyObject)

적용 대상

추가 정보