Чистое разделение интерфейса с Caliburn MVVM - PullRequest
0 голосов
/ 21 апреля 2010

Просмотр различных фреймворков MVVM для SL. В документации Caliburn я видел код в контроллере, который вызывает MessageBox. Это правильно или это только для вступления? Есть ли что-то вроде сервиса MessageBox в Caliburn, как в Chinch MVVM?

Ответы [ 2 ]

3 голосов
/ 21 апреля 2010

Это действительно вводный код, просто чтобы продемонстрировать, что метод контроллера действительно выполняется. Тем не менее, я согласен с тем вопросом, который вы указали: наличие исходного кода пользовательского интерфейса в докладчике может привести к неуместному сочетанию проблем со взглядами.

Об услуге MessageBox: в Caliburn v2 (транк), модуль ShellFramework, есть ViewModel Вопрос / Ответ, абстрагирующий функциональность MessageBox, с преимуществом, позволяющим вам создавать пользовательский интерфейс для диалога. Кроме того, очень просто развернуть собственную абстракцию IMessageBox и предоставить базовую реализацию с использованием стандартного WPF MessageBox.

2 голосов
/ 21 апреля 2010

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

...