问题 从WPF对话框返回自定义值


我在用 Window.ShowDialog() 从用户获取某些值的方法。但是,该对话框只会返回一个可以为空的bool。

如何让我的WPF窗口返回一个 Tuple<string,string> 或任何其他类型?


10632
2017-09-21 15:55


起源



答案:


如解释所示,您无需从ShowDialog方法返回该值 这里“布尔值类型的Nullable <(Of <(T>)>)值,表示用户如何关闭窗口”。

您只需将要返回的值存储在属性或字段中即可获取:

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

11
2017-09-21 16:02





您可以向Window添加一个新方法,如下所示:

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;
}

3
2017-09-21 16:01