Page.NavigationService 属性

定义

获取页的宿主用来管理导航的导航服务。

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

注解

页面可以由多种类型的主机托管,包括 WindowNavigationWindowFrame和 浏览器。

页面通常需要与其主机的导航集成,以提供页内导航支持。 但是,由于页面可能不知道其主机在运行时会是什么,因此无法直接与其主机的导航成员集成来执行此操作。

相反,它可以尝试使用导航服务,该服务支持浏览器样式的导航,并由 NavigationService 类封装。 但是,不能创建自己的 NavigationService 实例。 相反,主机类型(如 NavigationWindowFrame或浏览器)会创建自己的 NavigationService 实例,你可以从 NavigationService 属性访问该实例。

NavigationService 属性返回的导航服务是由可视化树上的第一个导航器管理的类的实例 NavigationService 。 如果未找到, null 则返回 ,指示页面的主机不支持导航。

注意

Window 不支持导航,不提供导航服务。

适用于