Окно с критериями для фильтра основной таблицы

Есть главное окно, содержащее таблицу. Есть вспомогательное окно, содержащее критерии для фильтра главной таблицы.

Как правильно организовать данную логику в рамках wpf и mvvm?

То есть получается есть MainViewModel, есть FilterViewModel. Необходимо из MainViewModel запустить FilterViewModel с ссылкой на MainViewModel. В MainViewModel необходимо иметь ссылку на некий объект, содержащий в себе критерии для фильтра. При обновлении критериев во FilterViewModel необходимо обновлять данный объект и через ссылку на MainViewModel вызывать refresh у таблицы. В MainViewModel тоже должна быть ссылка на FilterViewModel, что бы контролировать количество открытых окон с фильтром (не больше 1).

Правильны ли данные рассуждения?

Вопрос: учитывая, что окно с фильтром должно быть открыто максимум в единственном экземпляре, то как в mvvm это контролировать? То есть при закрытии FilterViewModel необходимо стирать на него ссылку у MainViewModel. Как?

Для открытия окно используется сервис на подобии описанного здесь.


Ответы (0 шт):