在 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
您需要将对 Window1 的引用传递给子窗口:
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;
}
}