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在頁面之間以動畫顯示流覽。

當您的應用程式在 Frame中的不同內容片段之間巡覽時,您可以使用 NavigationThemeTransition 來新增動畫轉換。 您可以將 NavigationThemeTransition 新增至要巡覽之PageTransitions集合,或導覽FrameContentTransitions集合。 一般而言,我們建議您使用框架的 ContentTransitions 屬性,以確保所有流覽頁面都會發生轉換。

此範例顯示 NavigationThemeTransition 已新增至FrameContentTransitions集合。

<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) 返回框架 堆疊中流覽時播放特定的轉換。 當您根據螢幕大小動態修改瀏覽行為,例如在回應式主要/詳細案例中,這個做法是非常實用的。 如需更多範例,請參閱 XAML 主要/詳細資料範例

SuppressNavigationTransitionInfo

當您想要避免在流覽期間播放任何動畫時,可以使用 SuppressNavigationTransitionInfo 取代其他 NavigationTransitionInfo 子類型。

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

建構函式

NavigationThemeTransition()

初始化 NavigationThemeTransition 類別的新實例。

屬性

DefaultNavigationTransitionInfo

取得或設定在頁面之間巡覽時所使用的預設轉換。

DefaultNavigationTransitionInfoProperty

識別 DefaultNavigationTransitionInfo 相依性屬性。

Dispatcher

取得這個 物件相關聯的 CoreDispatcherCoreDispatcher代表可在 UI 執行緒上存取DependencyObject的功能,即使程式碼是由非 UI 執行緒起始也一樣。

(繼承來源 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)

適用於

另請參閱