The Silverlight Navigation Framework offers great value when looking to map longer XAML page URLs to much shorter, friendlier and memorable ones. This feature is similar in nature to the ASP.NET MVC Routing engine. For instance, the following is a quick sample on how to leverage the Navigation Framework. For this to work, I had to:
1-Add reference to System.Windows.Controls.Navigation.dll in my Silverlight project
2-Add the following declaration in my App.xaml page:
xmlns:nav="clr-namespace:System.Windows.Navigation;assembly=System.Windows.Controls.Navigation"
I was then able to leverage URI mapping in App.xaml as following:
<Application.Resources>
<nav:UriMapper x:Key="uriMapper">
<nav:UriMapping Uri="/{ParamVal}"
MappedUri="/Site1/TestPage.xaml?Param={ParamVal}" />
</nav:UriMapper>
</Application.Resources>
The above example will be mapping the base URL of a site to the path /Site1/TestPage.xaml and will pass the parameter value supplied in the simplified URL to the more complex mapped URL.
That simple! J