Frame.Navigate 方法

定义

重载

Navigate(TypeName)

使 加载由指定的 页面表示的内容。

Navigate(TypeName, Object)

使 加载由指定 页面表示的内容,同时传递由导航目标解释的参数。

Navigate(TypeName, Object, NavigationTransitionInfo)

使 Frame 加载由指定的 页面派生数据类型表示的内容,同时传递由导航目标解释的参数,以及指示要使用的动画转换的值。

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

参数

sourcePageType
TypeName Type

要导航到的页面,指定为对其分部类类型的类型引用。 (为 Microsoft .NET 提供 System.Type,或 TypeName 帮助程序结构C++)。

返回

Boolean

bool

如果 NavigationFailed 事件处理程序已将处理 设置为 ,则为 ;否则,。 有关详细信息,请参阅“备注”。

实现

M:Microsoft.UI.Xaml.Controls.INavigate.Navigate(Windows.UI.Xaml.Interop.TypeName) M:Microsoft.UI.Xaml.Controls.INavigate.Navigate(System.Type)

适用于

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

参数

sourcePageType
TypeName Type

要导航到的页面,指定为对其分部类类型的类型引用。 (为 Microsoft .NET 提供 System.Type,或 TypeName 帮助程序结构C++)。

parameter
Object

Platform::Object

IInspectable

要传递给目标页的导航参数。

返回

Boolean

bool

如果 NavigationFailed 事件处理程序已将处理 设置为 ,则为 ;否则,。 有关详细信息,请参阅“备注”。

属性

适用于

Navigate(TypeName, Object, NavigationTransitionInfo)

使 Frame 加载由指定的 页面派生数据类型表示的内容,同时传递由导航目标解释的参数,以及指示要使用的动画转换的值。

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

参数

sourcePageType
TypeName Type

要导航到的页面,指定为对其分部类类型的类型引用。 (为 Microsoft .NET 提供 System.Type,或 TypeName 帮助程序结构C++)。

parameter
Object

Platform::Object

IInspectable

要传递给目标页面的导航参数;必须具有基本类型(字符串、字符、数字或 GUID),才能使用 GetNavigationState来支持参数序列化。

infoOverride
NavigationTransitionInfo

有关动画转换的信息。

返回

Boolean

bool

如果 NavigationFailed 事件处理程序已将处理 设置为 ,则为 ;否则,。 有关详细信息,请参阅“备注”。

属性

示例

<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)进行编程,TypeName 类型项目作为 system.Type。 使用 C# 进行编程时,通常使用 typeof 运算符获取对类型 System.Type 的引用。 在 Microsoft Visual Basic 中,使用 GetType。 如果使用 C++/WinRT 则可以使用 winrt::xaml_typename<T>() 帮助程序函数创建 TypeName 对象。 有关更多详细信息,请参阅 winrt::xaml_typename 函数模板 和代码示例。

另请参阅

适用于