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