【发布时间】:2019-03-22 16:39:06
【问题描述】:
第一次从 WPF 切换到 UWP 我发现 UWP 世界中确实存在像 SplitView 和 NavgiationView 这样的出色控件。
为了更新我当前的家庭项目,我选择了NavigationView 控件作为提供各种信息的主要 UI 控件。
使用页面导航背后的代码 (as shown here) 非常简单,但对于我的用例,我想使用 MVVM(作为一个学习过程,不使用像 MVVMLIght 或类似的 FW)。
目前,我的NavigationView 是这样的;但我不知道如何通过页面在框架内进行更改(据我了解,我必须使用NavigationService,但还没有找到一个易于理解的示例):
<NavigationView x:Name="nvTopLevelNav" Grid.Column="0" Grid.Row="1" Grid.RowSpan="3" IsPaneOpen="False" IsPaneToggleButtonVisible="False" CompactModeThresholdWidth="0" IsBackButtonVisible="Collapsed" Background="Black" Foreground="Black"
Loaded="nvTopLevelNav_Loaded"
Margin="0,12,0,0"
SelectionChanged="nvTopLevelNav_SelectionChanged"
ItemInvoked="nvTopLevelNav_ItemInvoked"
IsTabStop="False"
IsSettingsVisible="False"
AlwaysShowHeader="False"
Header="asdasdaasdasdasd">
<NavigationView.MenuItems>
<NavigationViewItem Icon="Home" Content="Home" Tag="Home_Page" />
<NavigationViewItem Icon="Globe" Content="Weather" Tag="Weather_Page" />
<NavigationViewItem Content="My Agenda" Tag="Agenda_Page">
<!-- some custom PathIcon -->
</NavigationViewItem>
<NavigationViewItem Icon="Contact" Content="My News" Tag="News_Page" />
</NavigationView.MenuItems>
<Frame x:Name="contentFrame"></Frame>
</NavigationView>
【问题讨论】:
标签: c# mvvm uwp navigationview navigationservice