NavigationThemeTransition クラス

定義

ページ ナビゲーション アニメーションを提供します。

public ref class NavigationThemeTransition sealed : Transition
/// [Microsoft.UI.Xaml.Markup.ContentProperty(Name="DefaultNavigationTransitionInfo")]
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class NavigationThemeTransition final : Transition
[Microsoft.UI.Xaml.Markup.ContentProperty(Name="DefaultNavigationTransitionInfo")]
[Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class NavigationThemeTransition : Transition
Public NotInheritable Class NavigationThemeTransition
Inherits Transition
<NavigationThemeTransition .../>
継承
Object Platform::Object IInspectable DependencyObject Transition NavigationThemeTransition
属性

Tip

詳細、設計ガイダンス、およびコード例については、「 ページ切り替え」を参照してください。

WinUI 3 ギャラリー アプリには、ほとんどの WinUI 3 コントロールと機能の対話型の例が含まれています。 Microsoft Store からアプリを取得するか、GitHub でソース コードを取得します。

注釈

Windows 10バージョン 1803 では、Frame は NavigationThemeTransition を使用して、ページ間のナビゲーションを既定でアニメーション化します。

NavigationThemeTransition を使用すると、 アプリがフレーム内のさまざまなコンテンツ間を移動するときに、アニメーションの切り替えを追加できます。 NavigationThemeTransition を、移動するページTransitions コレクションまたはナビゲーション フレーム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

Windows アプリ SDK アプリで常に null を返します。 代わりに DispatcherQueue を使用してください。

(継承元 DependencyObject)
DispatcherQueue

このオブジェクトが関連付けられている DispatcherQueue を取得します。 DispatcherQueueは、コードが非 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)

適用対象

こちらもご覧ください