У меня есть приложение MVVM, которое я пытаюсь перевести на современный пользовательский интерфейс, но я не могу понять службу навигации...
По сути, моя ViewModel представляет собой ObservableCollection с методом «AddItem», как ICommand
. Когда этот метод выполняется, я хочу вернуться к 1-й ссылке\странице первой группы MUI, вот пример фрагмента современного пользовательского интерфейса WPF...
<mui:ModernWindow ...>
<mui:ModernWindow.MenuLinkGroups>
<mui:LinkGroup DisplayName="Open Work">
<mui:LinkGroup.Links>
<mui:Link DisplayName="Current Activity" Source="/Pages/ActivityPage.xaml" />
<mui:Link DisplayName="Activity Queue" Source="/Pages/Queue.xaml" />
</mui:LinkGroup.Links>
</mui:LinkGroup>
<mui:LinkGroup DisplayName="Search" >
<mui:LinkGroup.Links>
<mui:Link DisplayName="Customers" Source="/Pages/SearchPage.xaml" />
</mui:LinkGroup.Links>
</mui:LinkGroup>
</mui:ModernWindow.MenuLinkGroups>
Итак, в основном из «SearchPage.xaml» выполняется ICommand «AddItem», и я хочу немедленно переключиться обратно на «ActivityPage.xaml» (в группе «Открытая работа»).
В идеале я хотел бы сделать это из ViewModel, но я не возражаю против присоединения обработчика к событию CollectionChanged
и ручной настройки страницы, но образцы NavigationService (здесь) не помогли мне разобраться...
В крайнем случае я добавил MVVM Light из Nuget и попытался внедрить IModernNavigationService в свою ViewModel, но не могу понять, как заставить ViewModelLocator работать.