Впервые переключившись с WPF на UWP, я обнаружил, что в мире UWP существуют отличные элементы управления, такие как SplitView
и NavgiationView
.
Для обновления моего текущего домашнего проектаЯ выбрал элемент управления NavigationView
в качестве основного элемента управления пользовательским интерфейсом для предоставления различной информации.Использовать кодовую навигацию по страницам (, как показано здесь ) очень просто, но для моего случая использования я хочу работать с MVVM (в качестве процедуры обучения без использования FW, таких как MVVMLIght или аналогичных).
В настоящее время мой 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>