Нужно реализовать грамотную связь между множеством ViewModel, какие есть наилучшие варианты реализации?
Существует 2 основные ViewModel:
Одна ViewModel осуществляет поиск по базе данных и отображение данных в ListBox.
Вторая ViewModel - это TabItem.
Связь между ними простая: при нажатии на элемент ListBox необходимо передать id элемента (каждый элемент - клиент, у которого есть id и другие данные) или передать элемент целиком, пока ещё не определился.
Вторая ViewModel принимает данный id или класс и добавляет его в коллекцию. Каждый элемент этой коллекции - отдельный TabItem.
Далее, внутри каждого TabItem есть основная ViewModel, которая будет показывать содержимое TabItem по некоторому условию. У каждого содержимого есть своя ViewModel.
Далее каждый уровень - это отдельная ViewModel.
1 уровень:
ViewModel для окна с просмотром некоторой информации по базе данных в целом (Отчет за период). Внутри больше нет моделей.
ViewModel добавления/редактирования информации о клиенте. Имя, Фамилия, номер телефона и список его автомобилей.
2 уровень:
ViewModel добавления/редактирования информации о выбранном автомобиле из списка автомобилей клиента уровнем выше. Марка, производитель, номер авто, список визитов данного автомобиля в сервис и т.д.
3 уровень:
ViewModel добавление/редактирования информации о выбранном визите из списка визитов автомобиля клиента уровнем выше.
Больше уровней нет.
Необходимо грамотно продумать связь между ViewModel. Какие есть лучшие варианты? Можете показать подобные примеры или скинуть ссылку на примеры реализации?
Буду благодарен, спасибо!
ListBoxилиTabItemне могут иметь отношение к View Model, так как это View слой. Вопрос в целом на воображение, я с ходу не могу понять, что у вас там происходит. Быть может стоит написать воспроизводимый пример? Что такое "связь" в вашем понимании? Зачем она? – aepot Nov 02 '23 at 16:25Нашел такое видео, попробую посмотреть.
– Андрей Шутов Nov 02 '23 at 16:42