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 を使用すると、 アプリがフレーム内のさまざまなコンテンツ間を移動するときにアニメーション化された切り替えを追加できます。 NavigationThemeTransition を、移動先の PageTransitions コレクションまたはナビゲーション フレームContentTransitions コレクションに追加できます。 一般に、フレームの 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では、アプリ内のページ間を移動するための 2 つの異なるアニメーションが提供されます。 ナビゲーション アニメーションは、 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) を使用して、 フレーム バック スタックに戻るときに特定の画面切り替えを再生できます。 これは、たとえば応答性の高いマスター/詳細シナリオなど、画面サイズに基づいて移動動作を動的に変更する場合に役立ちます。 その他の例については、 XAML マスター/詳細サンプルを参照してください。

SuppressNavigationTransitionInfo

ナビゲーション中にアニメーションを再生しないようにするには、他の NavigationTransitionInfo サブタイプの代わりに SuppressNavigationTransitionInfo を使用できます。

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

コンストラクター

NavigationThemeTransition()

NavigationThemeTransition クラスの新しいインスタンスを初期化します。

プロパティ

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 インスタンスの特定の DependencyProperty に対する変更をリッスンするための通知関数を登録します。

(継承元 DependencyObject)
SetValue(DependencyProperty, Object)

DependencyObject の依存関係プロパティのローカル値を設定します。

(継承元 DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

RegisterPropertyChangedCallback を呼び出して以前に登録した変更通知を取り消します。

(継承元 DependencyObject)

適用対象

こちらもご覧ください