NavigationService Class
Provides methods, properties, and events to support navigation within a Silverlight application.
Namespace: System.Windows.Navigation
Assembly: System.Windows.Controls.Navigation (in System.Windows.Controls.Navigation.dll)
The NavigationService type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | CanGoBack | Gets a value that indicates whether there is at least one entry in the back navigation history. |
![]() | CanGoForward | Gets a value that indicates whether there is at least one entry in the forward navigation history. |
![]() | CurrentSource | Gets the uniform resource identifier (URI) of the content that is currently displayed. |
![]() | Source | Gets or sets the uniform resource identifier (URI) of the current content or the content that is being navigated to. |
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | GoBack | Navigates to the most recent entry in the back navigation history, or throws an exception if no entry exists in back navigation. |
![]() | GoForward | Navigates to the most recent entry in the forward navigation history, or throws an exception if no entry exists in forward navigation. |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | Navigate | Navigates to the content specified by the uniform resource identifier (URI). |
![]() | Refresh | Reloads the current page. |
![]() | StopLoading | Stops asynchronous navigations that have not yet been processed. |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
| Name | Description | |
|---|---|---|
![]() | FragmentNavigation | Occurs when navigation to a content fragment begins. |
![]() | Navigated | Occurs when the content that is being navigated to has been found and is available. |
![]() | Navigating | Occurs when a new navigation is requested. |
![]() | NavigationFailed | Occurs when an error is encountered while navigating to the requested content. |
![]() | NavigationStopped | Occurs when the StopLoading method is called, or when a new navigation is requested while the current navigation is in progress. |
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
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.
