Я изучаю WPF и MVVM и пытаюсь подчеркнуть хороший дизайн. У меня большой опыт работы с WinForms и C#. Это концептуально, поэтому я не думаю, что мне нужно публиковать код.
У меня есть окно xaml, которое управляет «Профилями». В левой половине находится пользовательское древовидное представление Control, привязанное к ViewModel, которое считывает базу данных и создает иерархию профилей. ViewModel для отдельных профилей, среди прочего, содержит идентификатор базы данных. Правая половина — это еще один настраиваемый элемент управления с ListView и собственной ViewModel, который считывает из базы данных информацию об отдельных профилях.
Обе половины прекрасно работают независимо друг от друга, но теперь я хочу связать выбор дерева с представлением списка, чтобы информация в списке отражала выбор дерева. Как лучше всего это сделать?
Представление в виде дерева предоставляет идентификатор профиля, который можно использовать для поиска информации о профиле в представлении списка. Опять же, цель состоит в том, чтобы просто связать эти два вместе. Я чувствую, что у меня есть несколько вариантов:
-Модель представления дерева может вызывать статический метод в модели представления списка, который обновляет профиль.
-Вся страница может содержать модель представления, в которой есть модели представления членов для обоих компонентов.
-Я мог бы каким-то образом «направить» известный выбранный профиль модели просмотра дерева в элемент управления списком в файле xaml.
Все эти варианты кажутся грязными. Опять же, я учусь здесь и хочу подчеркнуть хороший дизайн, поскольку эти маленькие детали диктуют более важные решения позже.
А идеи?
Спасибо!