Обработка исключений MVVM

Signs your coders don't have enough work to do

9
задан Jake Pearson 26 August 2009 в 18:30
поделиться

2 ответа

Используйте службу:

public void SomeMethodInYourViewModel()
{
    try
    {
        DoSomethingDangerous();
    }
    catch (Exception ex)
    {
        ServiceLocator.Resolve<IMessageService>().ShowMessage(ex.Message);
    }
}

Теперь вы отключили свои виртуальные машины от представления сообщений. Вы можете даже решить вообще не использовать стандартные (уродливые) окна сообщений, и это не повлияет на ваши виртуальные машины.

17
ответ дан 4 December 2019 в 07:47
поделиться

Взгляните на превосходный фонд MVVM Джоша Смита на Codeplex . В частности, взгляните на класс Messenger, легкий способ передачи сообщений между различными объектами ViewModel, которым не нужно знать друг о друге.

Кроме того, я не верю, что существует жесткое правило на «Нет кода в представлении», хотя по возможности лучше избегать ... помните, что ваш XAML - это просто код .net, написанный с декларативным синтаксисом; код программной части - это просто C # или VB.

9
ответ дан 4 December 2019 в 07:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: