The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.
Page.NavigationService Property
Silverlight
Gets the service that the host used to navigate to this page.
Namespace: System.Windows.Controls
Assembly: System.Windows.Controls.Navigation (in System.Windows.Controls.Navigation.dll)
Property Value
Type: System.Windows.Navigation.NavigationServiceThe service the host used to navigate to this page.
The following example shows a Silverlight page that contains forward and back navigation buttons within the page. To determine if forward or back navigation is allowed, the page accesses the navigation service and uses its properties.
The first part of the example shows the XAML page.
<!-- NOTE: By convention, the sdk prefix indicates a URI-based XAML namespace declaration for Silverlight SDK client libraries. This namespace declaration is valid for Silverlight 4 only. In Silverlight 3, you must use individual XAML namespace declarations for each CLR assembly and namespace combination outside the scope of the default Silverlight XAML namespace. For more information, see the help topic "Prefixes and Mappings for Silverlight Libraries". --> <sdk:Page x:Class="NavExample.Views.ProductDetail" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" d:DesignWidth="640" d:DesignHeight="480" Title="Product Information"> <StackPanel x:Name="LayoutRoot"> <ListBox x:Name="ListBox1" ItemsSource="{Binding}"> <ListBox.ItemTemplate> <DataTemplate> <StackPanel> <TextBlock Text="{Binding Name}"/> <TextBlock Text="{Binding ProductNumber}"/> <TextBlock Text="{Binding Color}"/> <TextBlock Text="{Binding Size}"/> <TextBlock Text="{Binding ListPrice}"/> </StackPanel> </DataTemplate> </ListBox.ItemTemplate> </ListBox> <StackPanel HorizontalAlignment="Center" Orientation="Horizontal"> <Button Width="100" x:Name="BackNavButton" Click="BackNavButton_Click" Content="<< back" Visibility="Collapsed" /> <Button Width="100" x:Name="ForwardNavButton" Click="ForwardNavButton_Click" Content="forward >>" Visibility="Collapsed" /> </StackPanel> </StackPanel> </sdk:Page>
The second part shows the code-behind page.
public partial class ProductDetail : Page { public ProductDetail() { InitializeComponent(); } protected override void OnNavigatedTo(NavigationEventArgs e) { GetProductDetail(); SetButtonVisibility(); } private void SetButtonVisibility() { if (NavigationService.CanGoBack) { BackNavButton.Visibility = Visibility.Visible; } else { BackNavButton.Visibility = Visibility.Collapsed; } if (NavigationService.CanGoForward) { ForwardNavButton.Visibility = Visibility.Visible; } else { ForwardNavButton.Visibility = Visibility.Collapsed; } } private void BackNavButton_Click(object sender, RoutedEventArgs e) { if (NavigationService.CanGoBack) { NavigationService.GoBack(); } } private void ForwardNavButton_Click(object sender, RoutedEventArgs e) { if (NavigationService.CanGoForward) { NavigationService.GoForward(); } } private void GetProductDetail() { string productID; DataServiceContext svcContext = new DataServiceContext(new Uri("AdventureWorks.svc", UriKind.Relative)); if (this.NavigationContext.QueryString.ContainsKey("ProductId")) { productID = this.NavigationContext.QueryString["ProductId"]; } else { productID = App.Current.Resources["FeaturedProductID"].ToString(); } svcContext.BeginExecute<Product>(new Uri("Product(" + productID + ")", UriKind.Relative), loadProductCallback, svcContext); } private void loadProductCallback(IAsyncResult asyncResult) { DataServiceContext context = asyncResult.AsyncState as DataServiceContext; ListBox1.DataContext = context.EndExecute<Product>(asyncResult); } }
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.