В настоящее время у меня есть Ribboncontrol
поверх моего главного окна. На Ribboncontrol есть несколько RibbonPages, и в зависимости от того, какой RibbonPage выбран, я хочу отобразить ниже RibbonControl другой макет IDE, который соответствует потребностям выбранного RibbonPage.динамическое дно Dockpanel как функция выбранной ленты с использованием MVVM
Является ли мой подход правильным, что я создаю разные виды/режимы просмотра для каждого макета IDE и что с каждой другой RibbonPage, которая выбрана, просматривается соответствующая view/viewmodel? Мне нравится использовать этот подход, потому что тогда мне не нужно было бы связываться между представлениями/режимами просмотра, потому что функциональность в каждой RibbonPage является автономной.
Каждый вид был бы UserControl
, который инкапсулирует DockLayoutManager
. Я включил некоторые скриншоты ниже (SS1 = MainWindow, на которые я хочу загрузить разные виды, SS2 = представление, представляющее UserControl, которое в свою очередь представляет DockLayoutManager со всеми связанными LayoutPanels, DocumentPanels, ....)
Вопрос: Как я могу это реализовать и является ли это работоспособным решением для отображения разных представлений в зависимости от выбранного RibbonPage?
моя проблема в том, что, хотя у меня есть событие «SelectedPageChanged», мне нравится реализовывать обработку событий (загрузку и отображение другого представления) исключительно в xaml. Как я могу это сделать? –
Вышеупомянутый и связанный ответ показывает вам, как это сделать. Как только вы настроите 'DataTemplate' для своих моделей просмотра, вам нужно всего лишь установить 'YourViewModelProperty' новую модель представления, как я показал вам выше. Вот и все. – Sheridan
ok Я признаю, что мне нужно немного вникать в это, поскольку я очень новичок в WPF. Спасибо, ваше прочтение комментариев, надеюсь, заставит меня начать. –