- How to combine Tim Heuer navigation framework template with MVVM Light
- <UserControl x:Class="Valachy.Administration.Views.MainPage"
- 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"
- xmlns:Helpers="clr-namespace:Valachy.Administration.Helpers"
- xmlns:res="clr-namespace:Valachy.Administration.Resources"
- xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
- xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"
- d:DesignWidth="640" d:DesignHeight="480"
- mc:Ignorable="d"
- DataContext="{Binding Main, Source={StaticResource Locator}}">
- <UserControl.Resources>
- <ResourceDictionary>
- <ResourceDictionary.MergedDictionaries>
- <ResourceDictionary Source="../Skins/MainSkin.xaml" />
- <ResourceDictionary>
- <Helpers:ResourceWrapper x:Key="ResourceWrapper" />
- <Helpers:NotOperatorValueConverter x:Key="NotOperatorValueConverter" />
- </ResourceDictionary>
- </ResourceDictionary.MergedDictionaries>
- </ResourceDictionary>
- </UserControl.Resources>
- <Grid x:Name="LayoutRoot">
- <StackPanel Orientation="Horizontal" VerticalAlignment="Top">
- <StackPanel Orientation="Horizontal" Width="250">
- <HyperlinkButton Click="NavigateButtonClick" Tag="Home" Content="Home" FontFamily="24"></HyperlinkButton>
- <HyperlinkButton Click="NavigateButtonClick" Tag="/Views/Tasks.xaml" Content="Tasks" FontFamily="24"></HyperlinkButton>
- <HyperlinkButton Click="NavigateButtonClick" Tag="/Views/TaskPlans.xaml" Content="Plans" FontFamily="24"></HyperlinkButton>
- </StackPanel>
- </StackPanel>
- <navigation:Frame x:Name="MainFrame" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" Margin="20" Source="/Views/Home.xaml" />
- </Grid>
- </UserControl>
- private void NavigateButtonClick(object sender, System.Windows.RoutedEventArgs e)
- {
- HyperlinkButton hyperlinkButton = sender as HyperlinkButton;
- if (hyperlinkButton != null)
- {
- string urlString = hyperlinkButton.Tag.ToString();
- Uri url = new Uri(urlString,UriKind.Relative);
- MainFrame.Navigate(url);
- }
- }
- <Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- x:Class="Valachy.Administration.App"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:vm="clr-namespace:Valachy.Administration.ViewModel"
- xmlns:navcore="clr-namespace:System.Windows.Navigation;assembly=System.Windows.Controls.Navigation"
- mc:Ignorable="d">
- <Application.Resources>
- <!--Global View Model Locator-->
- <vm:ViewModelLocator x:Key="Locator"
- d:IsDataSource="True" />
- <navcore:UriMapper x:Key="uriMapper">
- <navcore:UriMapping Uri="Home" MappedUri="/Views/Home.xaml" />
- <navcore:UriMapping Uri="Tasks" MappedUri="/Views/Tasks.xaml" />
- <navcore:UriMapping Uri="TaskPlans" MappedUri="/Views/TaskPlans.xaml" />
- </navcore:UriMapper>
- </Application.Resources>
- </Application>