Услуги WPF для ДА / НЕТ MessageBox - PullRequest
0 голосов
/ 05 июня 2018

Со ссылкой на Что такое "службы WPF"? и приложения к нему https://digitaltapestry.wordpress.com/2009/07/21/services-%E2%80%93-your-viewmodel-death-star/.
Использование служб в приложении WPF MVVM. Могу ли я использовать этот тип служб в ViewModel даже для отображения MessageBox с кнопками Да Нет Отмена?
Если да, какой тип данных я должен вернуть в ViewModel (Boolean Yes=> true No/Cancel => false) (MessageBoxResult)?

1 Ответ

0 голосов
/ 05 июня 2018

Могу ли я использовать этот тип сервиса в ViewModel даже для отображения MessageBox с кнопками Да Нет Отмена?

Да.

Если да,какой тип данных я должен вернуть в ViewModel (логическое Да => true Нет / Отмена => false) (MessageBoxResult)?

Служба должна вернуть bool?, .eg:

public class DisplayMessageService : IDisplayMessage
{
    public bool? ShowDialog(string message)
    {
        MessageBoxResult result = MessageBox.Show(message, "title...", MessageBoxButton.YesNoCancel);
        switch (result)
        {
            case MessageBoxResult.Yes:
                return true;
            case MessageBoxResult.No:
                return false;
            default:
                return null;
        }
    }
}

Если вы просто отобразите MessageBox без какой-либо кнопки «Да» или «Нет», выне должен ничего возвращать из метода.

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