关闭窗口后返回结果

Van*_*dze 2 c# wpf

窗口对话框关闭后,我正试图获取值:

public partial class MyDialogWindow: Window
{
    public string selectedItem = "";
    public MyDialogWindow(string selectedItem)
    {
        InitializeComponent();
        this.selectedItem = selectedItem;
    }

    ...
}


// To call dialog
string result = "";
MyDialogWindow dialog = new MyDialogWindow(result);
if (form.ShowDialog().Value)
{
   string res = result;
}
Run Code Online (Sandbox Code Playgroud)

但'结果'总是空的.在winforms我可以得到这个结果,但在WPF中没有.那么如何在窗口关闭后从窗口返回结果?

Jus*_*tin 6

字符串不像C#中那样工作 - 它们是不可变的.

您可以使用ref其他人建议的关键字来使用此工具,但是这只有在您SelectedItem在构造函数中设置时才有效,这有点不太可能!

执行此操作的常规方法是让对话框在对话框中显示属性:

public partial class MyDialogWindow: Window
{
    public string SelectedItem
    {
        get;
        set;
    {

    // etc...
}

MyDialogWindow dialog = new MyDialogWindow(result);
if (form.ShowDialog().Value)
{
   string res = dialog.SelectedItem;
}
Run Code Online (Sandbox Code Playgroud)

这是其他对话框(例如打开/保存文件对话框)的工作方式.