Как-то поздно на вечеринку, но я думал, что добавлю свой вклад.Заимствование из ответа пользователя841960:
public RelayCommand CancelCommand
{
get;
private set;
}
Затем:
SaveSettings = new RelayCommand(() => CloseWindow());
Затем:
private void CloseWindow()
{
Application.Current.Windows[Application.Current.Windows.Count - 1].Close();
}
Это немного чище, чем использование ICommand, и работает так же хорошо.
Итак, чтобы подвести итог, пример класса будет выглядеть так:
public class ChildViewModel
{
public RelayCommand CancelCommand
{
get;
private set;
}
public ChildViewModel()
{
SaveSettings = new RelayCommand(() => CloseWindow());
}
private void CloseWindow()
{
Application.Current.Windows[Application.Current.Windows.Count - 1].Close();
}
}