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