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,则具有默认的 Internet 区域权限集)。 默认值为 false

返回

如果未取消导航,则为 true;否则为 false

注解

此方法仅适用于独立应用程序和可扩展应用程序标记语言 (XAML) 内容。

此方法表现出与 相同的行为 NavigationService.Navigate,并通过确保将下载的内容置于具有默认 Internet 区域权限集的部分信任安全沙盒 (来扩展此方法 - 请参阅 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 可以是 Web URL 或有效的包 URI, (请参阅 WPF) 中的 Pack URI

Navigate 如果满足以下条件,将导航到 指定的 source URI:

如果 sourcenull,则清除现有内容 (Content) 。

注意

下载 Web 内容时,可能会收到 Web 异常 (,例如 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

如果 rootnull,则清除现有内容 (Content) 。

注意

下载 Web 内容时,可能会收到 Web 异常 (,例如 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

注解

虽然传递对象而不是 URI,但此方法的行为与 NavigationService.Navigate相同。

另请参阅

适用于