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
,則使用預設的網際網路區域集權限)。 預設為 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 (傳遞至 Navigated 、 NavigationStoppedLoadCompleted 事件處理常式) 。
另請參閱
適用於
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 中的套件 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
備註
這個方法的行為與 相同 NavigationService.Navigate ,雖然物件是傳遞而不是 URI。