Wpf: шаблоны данных и управление подписками на события - PullRequest
2 голосов
/ 15 июня 2011

Иногда объект Доменной Модели с бизнес-логикой (DDD) при вызове метода вызывается событием. В моей ситуации модель представления (для данного представления) инкапсулирует объект домена и должна регистрироваться и реагировать на эти события домена (я должен использовать события, потому что одним и тем же объектом домена могут управлять многие слабо связанные представления вместе с их моделями представления).

Мне также нужно отменить регистрацию в тех событиях, когда этот конкретный контекст скрыт. Я могу обрабатывать этот регистр / отменять регистрацию / распоряжаться параллельно с показом / скрывать / распоряжаться этим представлением, используя привязку данных, программно или как угодно, если сценарий остается достаточно простым ...

Проблема возникает, когда логика визуализации поставляется с DataTemplates. Как я могу знать, когда эта таблица данных становится скрытой, чтобы я мог отменить регистрацию своих событий? Есть ли лучший способ с wpf справиться с этим, вместо добавления большего количества событий?

Какова лучшая практика для обработки этого сценария в хорошем подходе MVVM?

edit: ок, проблема структурная. иногда выбор, сделанный внутри проекта, заставляет нас работать нетипично ... при хорошем подходе mvvm эта проблема не должна возникать

1 Ответ

1 голос
/ 15 июня 2011

Я бы сделал все возможное, чтобы сделать ViewModel зависимой от View, чтобы все было правильно.

Так что я бы сделал, предоставив свойство (Show? Visible? Open?) В ViewModel, которое имеет привязку TwoWay с View, чтобы ViewModel мог отслеживать это свойство.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...