Frame.Navigate 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
Navigate(TypeName) | |
Navigate(TypeName, Object) | |
Navigate(TypeName, Object, NavigationTransitionInfo) |
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 帮助程序结构C++)。
返回
bool
如果
实现
适用于
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 帮助程序结构C++)。
- parameter
-
Object
Platform::Object
IInspectable
要传递给目标页的导航参数。
返回
bool
如果
- 属性
适用于
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 帮助程序结构C++)。
- parameter
-
Object
Platform::Object
IInspectable
要传递给目标页面的导航参数;必须具有基本类型(字符串、字符、数字或 GUID),才能使用 GetNavigationState来支持参数序列化。
- infoOverride
- NavigationTransitionInfo
有关动画转换的信息。
返回
bool
如果
- 属性
示例
<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
(如字符串、字符、数字和 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 函数模板 和代码示例。