Frame.Navigate Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
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
Параметры
Страница для перехода, указанная в качестве ссылки типа на его частичный тип класса. (Ссылка на тип предоставляется как System.Type для Microsoft .NET или вспомогательной структуры typeName 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
Параметры
Страница для перехода, указанная в качестве ссылки типа на его частичный тип класса. (Ссылка на тип предоставляется как System.Type для Microsoft .NET или вспомогательной структуры typeName 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
Параметры
Страница для перехода, указанная в качестве ссылки типа на его частичный тип класса. (Ссылка на тип предоставляется как System.Type для Microsoft .NET или вспомогательной структуры typeName typeName для C++).
- parameter
-
Object
Platform::Object
IInspectable
Параметр навигации для передачи на целевую страницу; должен иметь базовый тип (строка, символ, числовый или GUID 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 для реагирования на сбой навигации. Вы можете обработать сбой непосредственно в обработчике событий или задать для свойства
Значения параметров
Вы можете использовать GetNavigationState для сериализации состояния кадра и SetNavigationState для его восстановления позже. Чтобы включить сериализацию состояния кадра с помощью этих методов, необходимо использовать только базовые типы для parameter
навигации, например строк, символов, числовых и типов GUID. В противном случае GetNavigationState
вызовет исключение.
Значение parameter
может иметь сложный тип, если вы не используете GetNavigationState. Однако следует использовать только базовые типы, чтобы избежать избыточного использования памяти, вызванного стеком навигации кадра, содержащий ссылку на 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 и примере кода.
См. также раздел
- Page
- NavigationFailed
- Основы проектирования навигации