Есть следующая вью модель, в SaveSettingsChangesCommand выкидываю исключение если ввод некорректный, но как мне об этом оповестить пользователя? Говорят добавлять MessageBox во ViewModel'и - плохо, но как по другому? Делать отдельное окно и вьюмодель под него и регистрировать (как говорилось в первой части вот этого ответа)?
public class InboundCheckerSettingsViewModel : BaseViewModel
{
private readonly InboundCheckerSettings _settings;
private int _delay;
private DateTime _start;
public int Delay { get => _delay; set => SetProperty(ref _delay, value); }
public DateTime Start { get => _start; set => SetProperty(ref _start, value); }
public InboundCheckerSettingsViewModel()
{
_settings = StaticApplication.Service.Resolve<Settings>().InboundCheckerSettings;
Delay = _settings.Delay;
Start = _settings.Start;
}
public ICommand SaveSettingsChangesCommand
{
get => new Command((_) =>
{
if(Delay <= 0)
throw new ArgumentException();
_settings.Delay = Delay;
_settings.Start = Start;
});
}
}