2010-09-21 40 views
11

Tôi đang sử dụng phương thức Window.ShowDialog() để tìm nạp một số giá trị từ người dùng. Tuy nhiên, hộp thoại sẽ chỉ trả về một bool nullable.Trả về giá trị tùy chỉnh từ hộp thoại WPF

Làm thế nào tôi có thể nhận được cửa sổ WPF của mình để trả lại Tuple<string,string> hoặc bất kỳ loại nào khác?

Trả lời

11

Bạn không cần phải trả lại giá trị từ phương pháp ShowDialog, như được giải thích here: "Một Nullable < (Trong số < (T>)>) giá trị kiểu Boolean biểu thị cách cửa sổ bị đóng bởi người dùng ".

Bạn chỉ có thể lưu trữ các giá trị mà bạn muốn quay trở lại trong một tài sản hoặc trường và làm cho nó:

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

Bạn có thể thêm một phương pháp mới để Window của bạn, một cái gì đó như thế này:

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; 
} 
Các vấn đề liên quan