2010-09-21 41 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; 
}