Совместное использование состояния / изменений через ViewModels
У меня есть приложение, которое имеет вкладку Задачи и вкладку Проекты. Я решил сделать отдельную ViewModel для каждой из вкладок TasksViewModel и ProjectsViewModel.
На вкладке Задачи есть новая область задач со связанным раскрывающимся списком проектов, а на вкладке Проекты (очевидно) есть список проектов.
Мне бы хотелось, чтобы раскрывающийся список на вкладке «Задачи» использовал ту же коллекцию, что и список вкладок «Проекты», чтобы при каждом добавлении или удалении проекта на вкладке «Проекты» список на вкладке «Задачи» автоматически обновлялся. Это работало хорошо с одной ViewModel, но начало становиться совсем неуправляемым.
Разве я не должен разделиться на две модели ViewModels? Существует ли распространенный метод обмена данными, подобный этому? Возможно пройти то же самоеObservableCollection<Project>
в каждую из ViewModels? Возможно, какой-то тип уведомления обратно в TasksViewModel в соответствии сICollectionChanged
.
Цените любую информацию / вклад!