Присвоить DialogResult в MVVM

101
05 октября 2019, 13:20

Есть WPF приложение с 2-мя окнами.

В главной VM создается модальное окно со своем VM и если результат true, то в главной VM выполняются некоторые действия.

Так вот, во второй VM есть вот такая штука:

<Button Grid.Row="9" Content="Сохранить настройки" Command="{Binding SaveSettings}"
        CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}"/>

Команда:

public RelayCommand SaveSettings
{
    get
    {
        return _saveSettings ?? (new RelayCommand(obj =>
        {
            Window wnd = obj as Window;
            wnd.DialogResult = true;
            SaveUserConfig();
        }, obj => !_settings.Equals(_oldSettings)));
    }
}

Но это же, вроде, нарушает принципы MVVM? Можно через событие, но тогда будет не чистый MVVM.

Собственно, как более правильно присвоить DialogResult ?

READ ALSO
Веб сервис для аэропортов c#(ASP.NET MVC 5+WEB API 2) [закрыт]

Веб сервис для аэропортов c#(ASP.NET MVC 5+WEB API 2) [закрыт]

Я новичок в веб сервисеМне дали тестовую заданию Создать веб сервис для аэропортов

120
clip.length показывает больше секунд, чем есть сам аудиоклип

clip.length показывает больше секунд, чем есть сам аудиоклип

Есть у меня audio которое имеет длину 104 минуты, т

140
Если больше людей с одного роутера заходят на сайт, превышается время ожидания ответа

Если больше людей с одного роутера заходят на сайт, превышается время ожидания ответа

Если больше людей с одного роутера заходят на сайт, превышается время ожидания ответа и как результат теряют соединение

115
preg_match, скобки и ограничитель слова?

preg_match, скобки и ограничитель слова?

Подскажите как заставить работать код?

94