Как закрыть окно данных Catel Framework из модели представления

Кто-нибудь знает, как закрыть (или сохранить) окно данных из вашей модели просмотра и не использовать кнопку «ОК» или «Отмена», а пользовательские кнопки, подобные этому:

public class UploadWindow : DataWindow
{
    public UploadWindow()
        : base(DataWindowMode.Custom)
    {
        AddCustomButton(new DataWindowButton("Ok", "???"));
        AddCustomButton(new DataWindowButton("Cancel", "???"));

        InitializeComponent();
    }
}

Таким образом, я могу сделать что-то дополнительное перед закрытием или сохранением, кроме обычных вещей. Спасибо за помощь!


person Arne Van De Vyver    schedule 07.02.2017    source источник


Ответы (1)


Внутри ВМ:

Опция 1:

this.SaveAndCloseViewModelAsync();

Вариант 2:

this.CancelAndCloseViewModelAsync();
person Geert van Horrik    schedule 07.02.2017
comment
Спасибо, это, кажется, решает мои самые большие проблемы! Но никакие изменения, внесенные в этот объект dialogResult typeFactory.CreateInstanceWithParametersAndAutoCompletion<VisitorRegistrationClosingWindowViewModel>(dialogResult);, не были сохранены, когда я вызываю this.SaveAndCloseViewModelAsync(); - person Arne Van De Vyver; 08.02.2017
comment
Вы используете Show или ShowDialog? DialogResult устанавливается только при использовании ShowDialog. - person Geert van Horrik; 08.02.2017
comment
я использую «ожидание _uiVisualizerService.ShowDialogAsync (visitorRegistrationClosingWindowViewModel)» - person Arne Van De Vyver; 08.02.2017
comment
Любая идея, почему он не сохраняет свойство dialogResult? - person Arne Van De Vyver; 09.02.2017
comment
Нет, он должен хранить это. Пожалуйста, создайте задачу в трекере. - person Geert van Horrik; 09.02.2017