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


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 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

Параметры

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) очищается.

Примечание

При скачивании веб-содержимого может возникнуть веб-исключение (например, 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.

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

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