Поделиться через


Frame.Navigate Метод

Определение

Перегрузки

Navigate(TypeName)

Вызывает загрузку frame содержимого, представленного указанной страницей.

Navigate(TypeName, Object)

Вызывает загрузку frame содержимого, представленного указанной страницей, а также передачи параметра, который будет интерпретирован целевым объектом навигации.

Navigate(TypeName, Object, NavigationTransitionInfo)

Заставляет frame загружать содержимое, представленное указанным типом данных, производным от страницы, а также передает параметр для интерпретации целевым объектом навигации и значение, указывающее анимированный переход к использованию.

Navigate(TypeName)

Вызывает загрузку frame содержимого, представленного указанной страницей.

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

Страница для перехода, указанная в качестве ссылки на тип своего разделяемого типа класса. (Ссылка на тип предоставляется как System.Type для Microsoft .NET или вспомогательной структуры TypeName для C++).

Возвращаемое значение

Boolean

bool

false Значение , если обработчик событий NavigationFailed имеет значение Handledtrue; в противном случае — значение true. Дополнительные сведения см. в разделе Примечания.

Реализации

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

Применяется к

Navigate(TypeName, Object)

Вызывает загрузку frame содержимого, представленного указанной страницей, а также передачи параметра, который будет интерпретирован целевым объектом навигации.

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

Страница для перехода, указанная в качестве ссылки на тип своего разделяемого типа класса. (Ссылка на тип предоставляется как System.Type для Microsoft .NET или вспомогательной структуры TypeName для C++).

parameter
Object

Platform::Object

IInspectable

Параметр навигации для передачи на целевую страницу.

Возвращаемое значение

Boolean

bool

false Значение , если обработчик событий NavigationFailed имеет значение Handledtrue; в противном случае — значение true. Дополнительные сведения см. в разделе Примечания.

Атрибуты

Применяется к

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

Страница для перехода, указанная в качестве ссылки на тип своего разделяемого типа класса. (Ссылка на тип предоставляется как System.Type для Microsoft .NET или вспомогательной структуры TypeName для C++).

parameter
Object

Platform::Object

IInspectable

Параметр навигации для передачи на целевую страницу; должен иметь базовый тип (string, char, numeric или GUID) для поддержки сериализации параметров с помощью GetNavigationState.

infoOverride
NavigationTransitionInfo

Сведения о анимированном переходе.

Возвращаемое значение

Boolean

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 обрабатывается для реагирования на сбой навигации. Вы можете обработать сбой непосредственно в обработчике событий или задать свойству trueNavigationFailedEventArgs.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 .

См. также раздел

Применяется к