Я разрабатываю проект с использованием шаблона MVVM, поэтому используются WPF, привязка и т. Д.
Теперь проблема в том, что требования к разметке и логике навигации постоянно меняются.Сегодня логика навигации жестко запрограммирована во ViewModel с помощью привязок.Мне интересно, есть ли хороший шаблон проектирования, который может облегчить это?
Например, есть горизонтальная полоса сверху как навигация 1-го уровня, затем вертикальный элемент управления Accordion слева как 2-й и 3-й уровеньнавигация и некоторые элементы CollapsiblePanels в главной области как навигация 4-го уровня.
При каждом щелчке по любому элементу навигации устанавливается свойство ViewModel, так что привязка запускает обновления представления.
Наши требования, ребята, сохраняютоб изменении представлений о том, как часть бизнес-логики (воспринимайте ее как пользовательский элемент управления) должна находиться на 1-м, 2-м, 3-м или 4-м уровне: вчера UserControlA может находиться внутри CollapsiblePanel, поэтому это навигация 4-го уровня;сегодня он может быть повышен до элемента 2-го уровня по запросу некоторых пользователей.
Я не буду винить инженеров по требованиям, поскольку в проекте MVVM можно будет разработать деликатную навигационную структуру, чтобыизменение графического интерфейса легко или даже настраивается.
Есть предложения?Примеры кода приветствуются!