NavigationService.Navigate Метод

Определение

Асинхронно перейдите к указанному исходному содержимому.

Перегрузки

Имя Описание
Navigate(Uri, Object, Boolean)

Асинхронно перейдите к исходному содержимому, расположенному в URI, передайте объект, содержащий состояние навигации для обработки во время навигации, и песочницу содержимого.

Navigate(Uri, Object)

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

Navigate(Uri)

Асинхронно перейдите к содержимому, указанному универсальным кодом ресурса (URI).

Navigate(Object)

Асинхронно переход к содержимому, содержаемого объектом.

Navigate(Object, Object)

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

Navigate(Uri, Object, Boolean)

Асинхронно перейдите к исходному содержимому, расположенному в URI, передайте объект, содержащий состояние навигации для обработки во время навигации, и песочницу содержимого.

public:
 bool Navigate(Uri ^ source, System::Object ^ navigationState, bool sandboxExternalContent);
public bool Navigate(Uri source, object navigationState, bool sandboxExternalContent);
member this.Navigate : Uri * obj * bool -> bool
Public Function Navigate (source As Uri, navigationState As Object, sandboxExternalContent As Boolean) As Boolean

Параметры

source
Uri

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

navigationState
Object

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

sandboxExternalContent
Boolean

Скачайте содержимое в песочницу безопасности с частичным доверием (если используется набор разрешений trueдля зоны Интернета по умолчанию). Значение по умолчанию — false.

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

true Значение , если навигация не отменена; falseв противном случае .

Комментарии

Этот метод предназначен только для автономных приложений и содержимого языка разметки приложений (XAML).

Этот метод демонстрирует то же поведение, что NavigationService.Navigateи расширение, гарантируя, что скачиваемое содержимое помещается в песочницу безопасности с частичным доверием (с набором разрешений для зоны Интернета по умолчанию — см. раздел " Безопасность частичного доверия WPF").

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

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

Navigate(Uri, Object)

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

public:
 bool Navigate(Uri ^ source, System::Object ^ navigationState);
public bool Navigate(Uri source, object navigationState);
member this.Navigate : Uri * obj -> bool
Public Function Navigate (source As Uri, navigationState As Object) As Boolean

Параметры

source
Uri

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

navigationState
Object

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

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

true Значение , если навигация не отменена; falseв противном случае .

Примеры

В следующем примере показано переход к URI и передача состояния навигации.

void goButton_Click(object sender, RoutedEventArgs e)
{
    this.NavigationService.Navigate(new Uri(this.addressTextBox.Text), DateTime.Now);
}
void NavigationService_LoadCompleted(object sender, NavigationEventArgs e)
{
    DateTime requestDateTime = (DateTime)e.ExtraData;
    string msg = string.Format("Request started {0}\nRequest completed {1}", requestDateTime, DateTime.Now);
    MessageBox.Show(msg);
}
Private Sub goButton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Me.NavigationService.Navigate(New Uri(Me.addressTextBox.Text), Date.Now)
End Sub
Private Sub NavigationService_LoadCompleted(ByVal sender As Object, ByVal e As NavigationEventArgs)
    Dim requestDateTime As Date = CDate(e.ExtraData)
    Dim msg As String = String.Format("Request started {0}" & vbLf & "Request completed {1}", requestDateTime, Date.Now)
    MessageBox.Show(msg)
End Sub

Комментарии

Так как навигации являются асинхронными, можно одновременно выполнять несколько навигаций. Например, если на одной странице есть два дочерних кадра, оба кадра могут перемещаться. В этом случае различные события навигации, создаваемые с помощью NavigationService нескольких раз, могут вызываться по одному для каждого содержимого, который перемещается, и не обязательно в том порядке, в который были запрошены навигации. Следовательно, если определенный запрос навигации должен обрабатывать данные, относящиеся к отдельному запросу, он не может использовать данные, доступные для всех запросов навигации. Вместо этого можно передать navigationState данные для обработки навигации, относящуюся к одному запросу навигации.

Следующие аргументы событий предоставляют доступ к состоянию навигации:

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

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

Navigate(Uri)

Асинхронно перейдите к содержимому, указанному универсальным кодом ресурса (URI).

public:
 bool Navigate(Uri ^ source);
public bool Navigate(Uri source);
member this.Navigate : Uri -> bool
Public Function Navigate (source As Uri) As Boolean

Параметры

source
Uri

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

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

true Значение , если навигация не отменена; falseв противном случае .

Примеры

В следующем примере показано, как перейти к URI.

void goButton_Click(object sender, RoutedEventArgs e)
{
    this.NavigationService.Navigate(new Uri(this.addressTextBox.Text));
}
Private Sub goButton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Me.NavigationService.Navigate(New Uri(Me.addressTextBox.Text))
End Sub

Комментарии

Значением source может быть веб-URL-адрес или допустимый URI пакета (см. URI пакетов в WPF).

Navigate перейдет к URI, указанному в source следующих условиях:

  • Событие Navigating не отменено.

  • Можно создать веб-запрос (см. раздел Navigating).

Если source это nullтак, существующее содержимое (Content) очищается.

Note

При скачивании веб-содержимого может появиться веб-исключение (например, 404: файл не найден). Вы можете обрабатывать такие исключения из NavigationFailed.

Можно использовать Navigate для перехода к фрагменту содержимого. Если содержимое, определяемое универсальным кодом ресурса (URI), является текущим, он не скачан снова.

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

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

Navigate(Object)

Асинхронно переход к содержимому, содержаемого объектом.

public:
 bool Navigate(System::Object ^ root);
public bool Navigate(object root);
member this.Navigate : obj -> bool
Public Function Navigate (root As Object) As Boolean

Параметры

root
Object

Объект, содержащий содержимое для перехода.

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

true Значение , если навигация не отменена; falseв противном случае .

Примеры

В следующем примере показано, как перейти к объекту Page , содержаму дерево исходного содержимого.

void goObjectButton_Click(object sender, RoutedEventArgs e)
{
    this.NavigationService.Navigate(new ContentPage());
}
Private Sub goObjectButton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Me.NavigationService.Navigate(New ContentPage())
End Sub

Комментарии

Navigateперейдет к указанномуroot, Object если указаны следующие условия:

  • Событие Navigating не отменено.

  • Можно создать веб-запрос (см. раздел Navigating).

Если root это nullтак, существующее содержимое (Content) очищается.

Note

При скачивании веб-содержимого может появиться веб-исключение (например, 404: файл не найден). Вы можете обрабатывать такие исключения из NavigationFailed.

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

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

Navigate(Object, Object)

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

public:
 bool Navigate(System::Object ^ root, System::Object ^ navigationState);
public bool Navigate(object root, object navigationState);
member this.Navigate : obj * obj -> bool
Public Function Navigate (root As Object, navigationState As Object) As Boolean

Параметры

root
Object

Объект, содержащий содержимое для перехода.

navigationState
Object

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

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

true Значение , если навигация не отменена; falseв противном случае .

Примеры

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

void goButton_Click(object sender, RoutedEventArgs e)
{
    this.NavigationService.Navigate(new ContentPage(), DateTime.Now);
}
void NavigationService_LoadCompleted(object sender, NavigationEventArgs e)
{
    DateTime requestDateTime = (DateTime)e.ExtraData;
    string msg = string.Format("Request started {0}\nRequest completed {1}", requestDateTime, DateTime.Now);
    MessageBox.Show(msg);
}
Private Sub goButton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Me.NavigationService.Navigate(New ContentPage(), Date.Now)
End Sub
Private Sub NavigationService_LoadCompleted(ByVal sender As Object, ByVal e As NavigationEventArgs)
    Dim requestDateTime As Date = CDate(e.ExtraData)
    Dim msg As String = String.Format("Request started {0}" & vbLf & "Request completed {1}", requestDateTime, Date.Now)
    MessageBox.Show(msg)
End Sub

Комментарии

Этот метод имеет то же поведение, что NavigationService.Navigateи объект, который передается вместо URI.

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

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