Page.NavigationService 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得頁面主應用程式用來管理巡覽的巡覽服務。
public:
property System::Windows::Navigation::NavigationService ^ NavigationService { System::Windows::Navigation::NavigationService ^ get(); };
public System.Windows.Navigation.NavigationService NavigationService { get; }
member this.NavigationService : System.Windows.Navigation.NavigationService
Public ReadOnly Property NavigationService As NavigationService
屬性值
頁面主應用程式用來管理巡覽的 NavigationService 物件,如果該主應用程式不支援巡覽,則為 null
。
範例
下列範例顯示頁面如何檢查流覽服務是否可用,如果是的話,請使用它來巡覽回上一頁。
public partial class HomePage : Page
{
public HomePage()
{
InitializeComponent();
// Don't allow back navigation if no navigation service
if (this.NavigationService == null)
{
this.goBackButton.IsEnabled = false;
}
}
void goBackButton_Click(object sender, RoutedEventArgs e)
{
// Go to previous entry in journal back stack
if (this.NavigationService.CanGoBack)
{
this.NavigationService.GoBack();
}
}
}
Partial Public Class HomePage
Inherits Page
Public Sub New()
InitializeComponent()
' Don't allow back navigation if no navigation service
If Me.NavigationService Is Nothing Then
Me.goBackButton.IsEnabled = False
End If
End Sub
Private Sub goBackButton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
' Go to previous entry in journal back stack
If Me.NavigationService.CanGoBack Then
Me.NavigationService.GoBack()
End If
End Sub
End Class
備註
頁面可以由多種類型的主機裝載,包括 Window 、 NavigationWindowFrame 和 瀏覽器。
頁面通常需要與其主機的流覽整合,以提供頁面內流覽支援。 不過,因為頁面可能不知道其主機在執行時間會是什麼,所以無法直接與其主機的流覽成員整合,才能這麼做。
相反地,它可以嘗試使用導覽服務,這是支援瀏覽器樣式流覽的服務,並由 類別封裝 NavigationService 。 不過,您無法建立自己的 NavigationService 實例。 相反地,主機類型,例如 NavigationWindow 、 Frame 或瀏覽器會建立自己的 NavigationService 實例,您可以從 屬性存取 NavigationService 。
從 NavigationService 屬性傳回的導覽服務是由視覺化樹狀結構上第一個導覽器所管理的類別實例 NavigationService 。 如果找不到,則會傳回 , null
表示頁面的主機不支援流覽。
注意
類別 Window 不支援流覽,而且不提供導覽服務。