Export (0) Print
Expand All

NavigationService Class

Provides methods, properties, and events to support navigation within a Silverlight application.

System.Object
  System.Windows.Navigation.NavigationService

Namespace:  System.Windows.Navigation
Assembly:  System.Windows.Controls.Navigation (in System.Windows.Controls.Navigation.dll)

'Declaration
Public NotInheritable Class NavigationService

The NavigationService type exposes the following members.

  NameDescription
Public propertyCanGoBackGets a value that indicates whether there is at least one entry in the back navigation history.
Public propertyCanGoForwardGets a value that indicates whether there is at least one entry in the forward navigation history.
Public propertyCurrentSourceGets the uniform resource identifier (URI) of the content that is currently displayed.
Public propertySourceGets or sets the uniform resource identifier (URI) of the current content or the content that is being navigated to.
Top

  NameDescription
Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodGoBackNavigates to the most recent entry in the back navigation history, or throws an exception if no entry exists in back navigation.
Public methodGoForwardNavigates to the most recent entry in the forward navigation history, or throws an exception if no entry exists in forward navigation.
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodNavigateNavigates to the content specified by the uniform resource identifier (URI).
Public methodRefreshReloads the current page.
Public methodStopLoadingStops asynchronous navigations that have not yet been processed.
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Top

  NameDescription
Public eventFragmentNavigationOccurs when navigation to a content fragment begins.
Public eventNavigatedOccurs when the content that is being navigated to has been found and is available.
Public eventNavigatingOccurs when a new navigation is requested.
Public eventNavigationFailedOccurs when an error is encountered while navigating to the requested content.
Public eventNavigationStoppedOccurs when the StopLoading method is called, or when a new navigation is requested while the current navigation is in progress.
Top

You use the NavigationService class from within a Silverlight page. It enables you to access the navigation service used by the hosting frame and launch new navigation requests. You can retrieve the navigation service through the NavigationService property of the Page class.

When navigating from within the frame, you use the navigation methods on the frame. The Frame class contains many of the same methods and properties as the NavigationService class.

The following example shows a Silverlight page that retrieves data from a data service and displays that data. The page displays information about a product based on a value in the query string. The OnNavigatedTo method is overridden to obtain a query string value from the NavigationContext object. The NavigationService object for this page is accessed to determine if forward and back navigation is available.


Partial Public Class ProductDetail
    Inherits Page

    Public Sub New()
        InitializeComponent()
    End Sub


    Protected Overrides Sub OnNavigatedTo(ByVal e As NavigationEventArgs)
        GetProductDetail()
        SetButtonVisibility()
    End Sub

    Private Sub SetButtonVisibility()
        If (NavigationService.CanGoBack) Then
            BackNavButton.Visibility = Visibility.Visible
        Else
            BackNavButton.Visibility = Visibility.Collapsed
        End If

        If (NavigationService.CanGoForward) Then
            ForwardNavButton.Visibility = Visibility.Visible
        Else
            ForwardNavButton.Visibility = Visibility.Collapsed
        End If
    End Sub

    Private Sub BackNavButton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
        If (NavigationService.CanGoBack) Then
            NavigationService.GoBack()
        End If
    End Sub

    Private Sub ForwardNavButton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
        If (NavigationService.CanGoForward) Then
            NavigationService.GoForward()
        End If
    End Sub


    Private Sub GetProductDetail()
        Dim productID As String
        Dim svcContext As DataServiceContext

        svcContext = New DataServiceContext(New Uri("AdventureWorks.svc", _
                UriKind.Relative))

        If (Me.NavigationContext.QueryString.ContainsKey("ProductId")) Then
            productID = Me.NavigationContext.QueryString("ProductId")
        Else
            productID = App.Current.Resources("FeaturedProductID").ToString()
        End If

        svcContext.BeginExecute(Of Product)(New Uri("Product(" + productID + ")", _
                UriKind.Relative), AddressOf loadProductCallback, svcContext)
    End Sub
    Private Sub loadProductCallback(ByVal asyncResult As IAsyncResult)
        Dim context As DataServiceContext
        context = asyncResult.AsyncState
        ListBox1.DataContext = context.EndExecute(Of Product)(asyncResult)
    End Sub

End Class


Silverlight

Supported in: 5, 4, 3

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Community Additions

ADD
Show:
© 2014 Microsoft