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
Параметры
- 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
Параметры
- 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 данные для обработки навигации, относящуюся к одному запросу навигации.
Следующие аргументы событий предоставляют доступ к состоянию навигации:
ExtraData (передается в Navigating событие).
ExtraData(передается в обработчики событий , NavigationStoppedLoadCompleted передается Navigatedв , обработчики событий).
См. также раздел
Применяется к
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
Параметры
Возвращаемое значение
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.