从WPF对话框返回自定义值

时间:2010-09-21 15:55:54

标签: c# wpf .net-4.0

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

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

2 个答案:

答案 0 :(得分:11)

您不需要从ShowDialog方法返回该值,如here所述: “Nullable&lt;(&lt;(T&gt;)&gt;”)类型的布尔值,表示用户如何关闭窗口“。

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

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

答案 1 :(得分:3)

您可以在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;
}