NavigationThemeTransition 클래스

정의

페이지 탐색 애니메이션을 제공합니다.

public ref class NavigationThemeTransition sealed : Transition
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [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)]
/// [Windows.UI.Xaml.Markup.ContentProperty(Name="DefaultNavigationTransitionInfo")]
class NavigationThemeTransition final : Transition
/// [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)]
/// [Windows.UI.Xaml.Markup.ContentProperty(Name="DefaultNavigationTransitionInfo")]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class NavigationThemeTransition final : Transition
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[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)]
[Windows.UI.Xaml.Markup.ContentProperty(Name="DefaultNavigationTransitionInfo")]
public sealed class NavigationThemeTransition : Transition
[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)]
[Windows.UI.Xaml.Markup.ContentProperty(Name="DefaultNavigationTransitionInfo")]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class NavigationThemeTransition : Transition
Public NotInheritable Class NavigationThemeTransition
Inherits Transition
<NavigationThemeTransition .../>
상속
Object Platform::Object IInspectable DependencyObject Transition NavigationThemeTransition
특성

Windows 요구 사항

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

예제

자세한 정보, 디자인 지침 및 코드 예제는 페이지 전환을 참조하세요.

WinUI 2 갤러리 앱이 설치된 경우 여기를 클릭하여 앱을 열고 작동 중인 페이지 전환을 참조하세요.

설명

Windows 10 버전 1803에서 Frame은 NavigationThemeTransition을 사용하여 기본적으로 Pages 간 탐색에 애니메이션 효과를 줍니다.

NavigationThemeTransition을 사용하여 앱이 프레임의 여러 콘텐츠 간에 이동할 때 애니메이션 전환을 추가할 수 있습니다. 탐색 중인 PageTransitions 컬렉션 또는 탐색 프레임에 대한 ContentTransitions 컬렉션에 NavigationThemeTransition을 추가할 수 있습니다. 일반적으로 프레임의 ContentTransitions 속성을 사용하여 모든 탐색 페이지에 대해 전환이 발생하도록 하는 것이 좋습니다.

이 예제에서는 FrameContentTransitions 컬렉션에 추가된 NavigationThemeTransition을 보여 줍니다.

<Frame ...>
    <Frame.ContentTransitions>
        <TransitionCollection>
            <NavigationThemeTransition/> 
        </TransitionCollection> 
    </Frame.ContentTransitions> 
    ...
</Frame> 
var frame = new Frame(); 
frame.ContentTransitions = new TransitionCollection(); 
frame.ContentTransitions.Add(new NavigationThemeTransition()); 

Windows 10 앱의 페이지 간 탐색을 위해 두 가지 애니메이션이 제공됩니다. 탐색 애니메이션은 NavigationTransitionInfo의 하위 클래스로 표시됩니다.

  • 페이지 새로 고침: 페이지 새로 고침은 페이지 탐색의 기본 애니메이션입니다. 들어오는 콘텐츠에 대한 슬라이드 업 애니메이션과 페이드 인 애니메이션의 조합입니다. 탐색 메뉴와 같은 최상위 탐색을 사용하는 경우 페이지 새로 고침을 사용해야 합니다.

페이지 새로 고침 애니메이션은 EntranceNavigationTransitionInfo 클래스로 표시됩니다. EntranceNavigationTransitionInfo.IsTargetElement 연결된 속성을 사용하여 페이지 하위 집합에 페이지 새로 고침 동작을 적용할 수 있습니다. 예를 들어 페이지의 명령 UI를 제외한 모든 콘텐츠입니다.

  • 드릴 인: 사용자가 다른 페이지에 대한 링크를 나타내는 페이지의 UI와 상호 작용할 때 드릴 인 애니메이션을 사용해야 합니다. 예를 들어 앨범 목록을 나타내는 페이지에서 사용자가 앨범 항목을 클릭하면 앨범 페이지로 전환하는 드릴이 있어야 합니다.

드릴 인 애니메이션은 DrillInNavigationTransitionInfo 클래스로 표시됩니다.

기본적으로 NavigationThemeTransition은 페이지 새로 고침 애니메이션을 재생합니다. 그러나 NavigationThemeTransition의 DefaultNavigationTransitionInfo 속성을 설정하여 이 동작을 재정의할 수 있습니다. 이 속성의 NavigationTransitionInfo 값은 기본적으로 모든 탐색에 사용됩니다.

3개 매개 변수를 사용하는 Frame.Navigate 의 오버로드를 사용하여 특정 탐색에 사용할 애니메이션을 지정할 수 있습니다.

이 예제에서는 사용자가 앨범 목록에서 특정 앨범을 나타내는 페이지로 "드릴인"할 때 음악 검색 앱이 드릴 인 애니메이션을 요청합니다.

void AlbumsListView_ItemClick(object sender, ItemClickEventArgs e) 
{
    // Get albumId from clicked item... 
    Frame.Navigate(typeof(AlbumPage), albumId, new DrillInNavigationTransitionInfo());
} 

또한 Frame.GoBack(NavigationTransitionInfo) 을 사용하여 프레임 뒤로 스택에서 다시 탐색할 때 특정 전환을 재생할 수 있습니다. 이는 화면 크기에 따라 동적으로 탐색 동작을 수정할 때 유용할 수 있습니다. 예를 들어 반응형 master/세부 시나리오에서 자세한 예제는 XAML master/세부 정보 샘플을 참조하세요.

SuppressNavigationTransitionInfo

탐색 중에 애니메이션을 재생하지 않으려면 다른 NavigationTransitionInfo 하위 형식 대신 SuppressNavigationTransitionInfo를 사용할 수 있습니다.

// Navigate to your first page without a transition 
Frame.Navigate(typeof(MainPage), null, new SuppressNavigationTransitionInfo()); 

생성자

NavigationThemeTransition()

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

속성

DefaultNavigationTransitionInfo

페이지 간을 탐색할 때 사용되는 기본 전환을 가져오거나 설정합니다.

DefaultNavigationTransitionInfoProperty

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

Dispatcher

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

(다음에서 상속됨 DependencyObject)

메서드

ClearValue(DependencyProperty)

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

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

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

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

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

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

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

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

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

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

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

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

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

(다음에서 상속됨 DependencyObject)

적용 대상

추가 정보