在 WPF C# 中将值从一个窗口传递到另一个窗口时出现问题

本文关键字:窗口 另一个 问题 一个 WPF | 更新日期: 2023-09-27 18:32:46

我无法理解我的代码出了什么问题。

两个窗口(窗口 1 、窗口 2 )

我在窗口 1 上有一个按钮(按钮 1)和一个文本框(文本框

1),在窗口 2 上有一个按钮(按钮 2)和一个文本框(文本框 2)

我想要什么:

是当我按下按钮 1 时,窗口 2 将作为对话框打开,然后我在 textBox2 中写的任何内容并按按钮 2 都应该重定向到窗口 1,并在文本框 1 中显示我的文本。

问题:

是当我单击按钮 2 时,没有将数据传输到文本框 1,它保持为空。

我的代码:

public partial class window1: Window
{
    public Window1()
    {
        InitializeComponent();
        textbox.text=cd;
    }
    private string cd;
    public string getCode
    {
        get { return cd; }
        set { cd = value; }
    }

    private void button_Click_1(object sender, RoutedEventArgs e)
    {
        Window2 win2 = new Window2();
        this.Close();
        win2.ShowDialog();
    }
}

这是另一个窗口:

public partial class Window2 : Window
{

    private void button_Click(object sender, RoutedEventArgs e)
    {
        Window1 win1 = new Window1();
        win1.getCode = textBox.Text;
        this.Close();
    }
}

任何建议将不胜感激。!

在 WPF C# 中将值从一个窗口传递到另一个窗口时出现问题

安东有答案。 如果你想要另一种方式,你可以使第一个窗口成为第二个窗口的所有者,这样现在所有者就可以被引用回来。 我打算写一些代码,但记得不久前的一篇文章显示了它并找到了它。看看吧。如何在 WPF

private void button_Click_1(object sender, RoutedEventArgs e) { Window2 win2 = new Window2(); win2.Wnd1Reference = this; this.Visibility = Visibility.Collapsed; win2.ShowDialog(); } public partial class Window2 : Window { public Window1 Wnd1Reference {get; set;} private void button_Click(object sender, RoutedEventArgs e) { Wnd1Reference.getCode = textBox.Text; this.Close(); Wnd1Reference.Visibility = Visibility.Visible; } }