Возврат пользовательских значений из диалога WPF

Я использую Window.ShowDialog() метод для получения некоторых значений от пользователя. Однако диалоговое окно возвращает только nullable bool.

Как я могу получить окно WPF для возврата Tuple<string,string> или любой другой тип?

2 ответов


вам не нужно возвращать это значение из метода ShowDialog, как объяснено здесь: "Nullable)>) значение типа Boolean, которое означает, как окно было закрыто пользователем".

вы можете просто сохранить значение, которое хотите вернуть, в свойстве или поле и получить его:

window.ShowDialog();
Tuple<string, string> value = window.InputValue;

вы можете добавить новый метод в свое окно, что-то вроде этого:

public Tuple<string, string> ShowTupleDialog()
{
    var retTuple = new  Tuple<string, string>();
    this.ShowDialog();
    // values from dialog to retTuple (maybe use 
    //databinding and return an already defined tuple)
    return retTuple;
}