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 Partial Trust Security).
См. также раздел
Применяется к
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 (передается в обработчики Navigatedсобытий , NavigationStopped, LoadCompleted ).
См. также раздел
Применяется к
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) очищается.
Примечание
При скачивании веб-содержимого может возникнуть веб-исключение (например, 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 будет переходить к указанному Object параметру , root
если выполняются следующие условия:
Событие Navigating не отменено.
Можно создать веб-запрос (см. Navigating).
Если root
имеет значение null
, существующее содержимое (Content) очищается.
Примечание
При скачивании веб-содержимого может возникнуть веб-исключение (например, 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.