Este é um projeto de uma biblioteca muito simples, sem dependências, que facilita o início de um aplicativo Universal Windows.
São 2 controles que trabalham juntos e que permite a navegação entre views.
| SideMenu | SideMenuItem |
|---|---|
| Herda de ListBox | Herda de ListBoxItem |
Use a propriedade Pages para registrar as instâncias das views disponíveis para navigação. | Use a propriedade PageTypeName para indicar qual o tipo de view a ser exibida. |
Exemplo MVVM:
1.Na ViewModel:publicclassMainPageViewModel:ViewModelBase{privateDictionary<string,Page>_pages;publicDictionary<string,Page>Pages{get=>_pages;privateset=>_=SetProperty(ref_pages,value);}publicMainPageViewModel(){Pages=newDictionary<string,Page>(){{nameof(HomePage),newHomePage()},{nameof(SettingsPage),newSettingPage()}};}}2. Na Página MainPage:<Page
x:Class="MyProject.MainPage"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="using:UniversalWindowsStart.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:vm="using:MyProject.ViewModels"Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
mc:Ignorable="d"><Page.DataContext><vm:MainPageViewModel /></Page.DataContext><Grid><controls:SideMenu x:Name="sidemenu" Pages="{Binding Pages}"><controls:SideMenuItem
Content="Home"
PageTypeName="HomePage"
Symbol="Home"/><controls:SideMenuItem
Content="Settings"
PageTypeName="SettingsPage"
Symbol="Setting"/></controls:SideMenu></Grid></Page>Exemplo Code-Behinde:
1.Code behinde:publicsealedpartialclassMainPage:Page{publicMainPage(){InitializeComponent();sideMenu.Pages.Clear();sideMenu.Pages.Add(nameof(HomePage),newHomePage());sideMenu.Pages.Add(nameof(SettingsPage),newSettingsPage());}}2. Em MainPage.xaml<Page
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:Custom="using:UniversalWindowsStart.Controls"
x:Class="UniversalWindowsStart.Samples.MainPage"
mc:Ignorable="d"Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"><Custom:SideMenu x:Name="sideMenu"><Custom:SideMenuItem Content="Home"Symbol="Home"PageTypeName="HomePage"IsSelected="True"/><Custom:SideMenuItem Content="Settings" Symbol="Setting" PageTypeName="SettingsPage"/></Custom:SideMenu></Page>