Вы могли использовать \r\n
, или System.Environment.NewLine
.
Из двух, которые вы упомянули, я предпочитаю вариант №2. Кнопка Удалить на странице просто делает " (EditContactItemsControlSelectionViewModel.DeleteCommand). Карл вызывает всплывающее окно из ViewModal (Что !? :-). Мне твоя идея больше нравится. Кажется, что Unit Test проще.
(EditContactItemsControlSelectionViewModel.DeleteCommand). Карл вызывает всплывающее окно из ViewModal (Что !? :-). Мне твоя идея больше нравится. Кажется, что Unit Test проще.Служба спасения. Используя Onyx (отказ от ответственности, я являюсь автором), это очень просто:
public void Foo()
{
IDisplayMessage dm = this.View.GetService<IDisplayMessage>();
dm.Show("Hello, world!");
}
В работающем приложении это косвенно вызовет MessageBox.Show («Привет, мир!»). Во время тестирования сервис IDisplayMessage можно смоделировать и предоставить ViewModel для выполнения любых ваших задач во время теста.
Я бы просто скинул с ВМ. Я не хочу, чтобы мне приходилось пользоваться чьими-то услугами или писать свои собственные, просто чтобы открыть окно сообщений.
Я сделал простой элемент управления-обертку MessageBox для использования в чистом MVVM решении и все еще позволяющий проводить модульное тестирование. Подробности в моем блоге http://geekswithblogs.net/mukapu/archive/2010/03/12/user-prompts-messagebox-with-mvvm.aspx
mukapu
Я просто создаю интерфейс (IMessageDisplay или аналогичный), который внедряется в виртуальную машину, и у него есть такие методы, как MessageBox (ShowMessage() и т. Д.). Вы можете реализовать это, используя стандартное окно сообщений или что-то более специфичное для WPF (я использую этот на CodePlex какого-то парня по имени Prajeesh).
Таким образом, все разделено и проверяемо.