Frame.Navigate 方法

定义

重载

Navigate(TypeName)

使 Frame 加载由指定的 Page 派生数据类型表示的内容。

Navigate(TypeName, Object)

使 Frame 加载由指定的 Page 派生数据类型表示的内容,同时传递由导航目标解释的参数。

Navigate(TypeName, Object, NavigationTransitionInfo)

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

Navigate(TypeName)

使 Frame 加载由指定的 Page 派生数据类型表示的内容。

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

要导航到的页面,指定为对其分部类类型的类型引用。 必须是 Page 派生的数据类型;否则,将引发异常。 (类型引用作为 Microsoft .NET 的 System.Type 或 Visual C++ 组件扩展的 TypeName 帮助程序结构 (C++/CX) ) 提供。

返回

Boolean

bool

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

实现

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

注解

处理 NavigationFailed 事件以响应导航失败。 可以直接在事件处理程序中处理失败,也可以将 NavigationFailedEventArgs.Handled 属性设置为 true 并使用 Navigate 方法返回值来响应失败。

应用通常使用 GetNavigationState 在应用挂起时序列化帧的状态。 可以直接在应用代码中执行此操作, SuspensionManager 也可以使用 Visual Studio 模板生成的 类间接执行此操作。 若要使用 GetNavigationState 启用帧状态序列化,必须仅对导航参数使用基本类型,例如字符串、字符、数字和 GUID 类型。 否则,当应用挂起时 ,GetNavigationState 将引发异常。 如果不使用 GetNavigationState, 参数可以具有其他类型。

如果不使用 GetNavigationState,参数值可以具有复杂类型。 但是,仍应仅使用基本类型,以避免因帧的导航堆栈持有对 参数的引用而导致的内存使用量过多。 首选方法是不传递实际对象,而是传递可用于在目标登陆页中查找对象的标识符。 例如,不传递 Customer 对象,而是传递对 的 CustomerID引用,然后在导航完成后查找 Customer

提示

如果使用 Microsoft .NET 语言 (C# 或 Microsoft Visual Basic) 进行编程, TypeName 类型将投影为 System.Type。 使用 C# 编程时,通常使用 typeof 运算符来获取对某个类型的 System.Type 的引用。 在 Microsoft Visual Basic 中,使用 GetType。 如果使用 Visual C++ 组件扩展 (C++/CX) ,则需要在其中创建 TypeName 帮助程序结构,则可以使用 typeid 组件扩展

另请参阅

适用于

Navigate(TypeName, Object)

使 Frame 加载由指定的 Page 派生数据类型表示的内容,同时传递由导航目标解释的参数。

public:
 virtual bool Navigate(TypeName sourcePageType, Platform::Object ^ parameter) = Navigate;
bool Navigate(TypeName const& sourcePageType, IInspectable const& parameter);
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

要导航到的页面,指定为对其分部类类型的类型引用。 必须是 Page 派生的数据类型;否则,将引发异常。 (类型引用作为 Microsoft .NET 的 System.Type 或 Visual C++ 组件扩展的 TypeName 帮助程序结构 (C++/CX) ) 提供。

parameter
Object

Platform::Object

IInspectable

要传递给目标页面的导航参数;必须具有基本类型 (string、char、numeric 或 GUID) 才能支持使用 GetNavigationState 进行参数序列化。

返回

Boolean

bool

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

另请参阅

适用于

Navigate(TypeName, Object, NavigationTransitionInfo)

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

public:
 virtual bool Navigate(TypeName sourcePageType, Platform::Object ^ parameter, NavigationTransitionInfo ^ infoOverride) = Navigate;
bool Navigate(TypeName const& sourcePageType, IInspectable const& parameter, NavigationTransitionInfo const& infoOverride);
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

要导航到的页面,指定为对其分部类类型的类型引用。 必须是 Page 派生的数据类型;否则,将引发异常。 (类型引用作为 Microsoft .NET 的 System.Type 或 Visual C++ 组件扩展的 TypeName 帮助程序结构 (C++/CX) ) 提供。

parameter
Object

Platform::Object

IInspectable

要传递给目标页面的导航参数;必须具有基本类型 (string、char、numeric 或 GUID) 才能支持使用 GetNavigationState 进行参数序列化。

infoOverride
NavigationTransitionInfo

有关动画切换的信息。

返回

Boolean

bool

如果 NavigationFailed 事件处理程序已将 Handled 设置为 true,则为 false;否则为 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());

另请参阅

适用于