NavigationService.Navigate 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
异步导航到指定的源内容。
重载
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
,则具有默认的 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
参数
- 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
可以是 Web URL 或有效的包 URI, (请参阅 WPF) 中的 Pack URI 。
Navigate 如果满足以下条件,将导航到 指定的 source
URI:
该 Navigating 事件不会取消。
web 请求 (请参阅 Navigating 可以创建) 。
如果 source
为 null
,则清除现有内容 (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
:
该 Navigating 事件不会取消。
web 请求 (请参阅 Navigating 可以创建) 。
如果 root
为 null
,则清除现有内容 (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相同。