Frame.Navigate 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
Navigate(TypeName) | |
Navigate(TypeName, Object) | |
Navigate(TypeName, Object, NavigationTransitionInfo) |
讓 Frame 載入由指定之 Page衍生數據類型所代表的內容,也會傳遞由導覽目標解譯的參數,以及指出要使用的動畫轉換值。 |
Navigate(TypeName)
public:
virtual bool Navigate(TypeName sourcePageType) = Navigate;
bool Navigate(TypeName const& sourcePageType);
public bool Navigate(System.Type sourcePageType);
function navigate(sourcePageType)
Public Function Navigate (sourcePageType As Type) As Boolean
參數
要巡覽至的頁面,指定為其部分類別類型的型別參考。 (針對Microsoft .NET 指定類型參考 System.Type,或 TypeName helper 結構C++)。
傳回
bool
false
如果 NavigationFailed 事件處理程式已將 Handled 設定為 true
;否則,true
。 如需詳細資訊,請參閱。
實作
適用於
Navigate(TypeName, Object)
public:
virtual bool Navigate(TypeName sourcePageType, Platform::Object ^ parameter) = Navigate;
/// [Windows.Foundation.Metadata.Overload("Navigate")]
bool Navigate(TypeName const& sourcePageType, IInspectable const& parameter);
[Windows.Foundation.Metadata.Overload("Navigate")]
public bool Navigate(System.Type sourcePageType, object parameter);
function navigate(sourcePageType, parameter)
Public Function Navigate (sourcePageType As Type, parameter As Object) As Boolean
參數
要巡覽至的頁面,指定為其部分類別類型的型別參考。 (針對Microsoft .NET 指定類型參考 System.Type,或 TypeName helper 結構C++)。
- parameter
-
Object
Platform::Object
IInspectable
要傳遞至目標頁面的導覽參數。
傳回
bool
false
如果 NavigationFailed 事件處理程式已將 Handled 設定為 true
;否則,true
。 如需詳細資訊,請參閱。
- 屬性
適用於
Navigate(TypeName, Object, NavigationTransitionInfo)
public:
virtual bool Navigate(TypeName sourcePageType, Platform::Object ^ parameter, NavigationTransitionInfo ^ infoOverride) = Navigate;
/// [Windows.Foundation.Metadata.Overload("NavigateWithTransitionInfo")]
bool Navigate(TypeName const& sourcePageType, IInspectable const& parameter, NavigationTransitionInfo const& infoOverride);
[Windows.Foundation.Metadata.Overload("NavigateWithTransitionInfo")]
public bool Navigate(System.Type sourcePageType, object parameter, NavigationTransitionInfo infoOverride);
function navigate(sourcePageType, parameter, infoOverride)
Public Function Navigate (sourcePageType As Type, parameter As Object, infoOverride As NavigationTransitionInfo) As Boolean
參數
要巡覽至的頁面,指定為其部分類別類型的型別參考。 (針對Microsoft .NET 指定類型參考 System.Type,或 TypeName helper 結構C++)。
- parameter
-
Object
Platform::Object
IInspectable
要傳遞至目標頁面的導覽參數;必須具有基本類型 (string、char、numeric 或 GUID),才能使用 GetNavigationState來支持參數串行化。
- infoOverride
- NavigationTransitionInfo
動畫轉換的相關信息。
傳回
bool
false
如果 NavigationFailed 事件處理程式已將 Handled 設定為 true
;否則,true
。 如需詳細資訊,請參閱。
- 屬性
範例
<Frame x:Name="myFrame">
<Frame.ContentTransitions>
<TransitionCollection>
<NavigationThemeTransition />
</TransitionCollection>
</Frame.ContentTransitions>
</Frame>
// Play the default animation
myFrame.Navigate(typeof(Page2), null);
// Explicitly play the page refresh animation
myFrame.Navigate(typeof(Page2), null, new EntranceNavigationTransitionInfo());
// Play the drill in animation
myFrame.Navigate(typeof(Page2), null, new DrillInNavigationTransitionInfo());
// Suppress the default animation
myFrame.Navigate(typeof(Page2), null, new SuppressNavigationTransitionInfo());
備註
您可以處理 NavigationFailed 事件,以響應瀏覽失敗。 您可以直接在事件處理程式中處理失敗,也可以將 NavigationFailedEventArgs.Handled 屬性設定為 true
,並使用 Navigate 方法傳回值來響應失敗。
參數值
您可以使用 GetNavigationState 來串行化框架的狀態,並 SetNavigationState 稍後還原。 若要使用這些方法來啟用框架狀態串行化,您必須只針對流覽 parameter
使用基本類型,例如字串、char、numeric 和 GUID 類型。 否則,GetNavigationState
會擲回例外狀況。
如果您沒有使用 getNavigationState ,則 parameter
值可能會有複雜類型。 不過,您仍應該只使用基本型別,以避免框架的流覽堆疊持有 parameter
參考所造成的記憶體使用量過多。 慣用的方法不是傳遞實際物件,而是傳遞標識符,讓您可用來在目標登陸頁面中查閱物件。 例如,不要傳遞 Customer
物件,而是傳遞 CustomerID
的參考,然後在流覽完成之後查閱 Customer
。
提示
如果您使用 Microsoft .NET 語言 (C# 或 Microsoft Visual Basic) 進行程式設計,typeof
運算符來取得型別 System.Type 的參考。 在 Microsoft Visual Basic 中,使用 GetType
。 如果您使用 C++/WinRT 您可以使用 winrt::xaml_typename<T>()
協助程式函式來建立 TypeName
物件。 如需詳細資訊,請參閱 winrt::xaml_typename 函式範本 和程式碼範例。