2010-09-21 129 views
11

我正在使用Window.ShowDialog()方法从用户获取一些值。但是,该对话框将只返回一个可为空的布尔值。从WPF对话框返回自定义值

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

回答

11

你并不需要返回从ShowDialog方法该值,如解释here“可为空<( <(T>)>)布尔类型的值,表示用户如何关闭窗口“。

您可以简单地存储要在属性或字段返回,并把它的值:

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

你可以添加一个新的方法,以你的窗口,是这样的:

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