在 WPF C# 中将值从一个 Window 传递给另一个时出现问题
Trouble in Passing Value from one Window to Other in WPF C#
我无法理解我的代码出了什么问题。
两个 Windows (window1 , window2 )
我在 window1 上有一个按钮 (button1) 和一个文本框 (textBox1),在 window2
上有另一个按钮 (button2) 和一个文本框 (textBox2)
我想要什么:
是当我按下 button1 时,window2 将作为对话框打开,然后无论我在 textBox2 中写什么并按下 button2 都应该重定向到 window1,我的文本在 textBox1 中。
问题:
是当我点击button2时,没有数据传输到textbox1,它仍然是空的。
我的代码:
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();
}
}
这是另一个 window:
public partial class Window2 : Window
{
private void button_Click(object sender, RoutedEventArgs e)
{
Window1 win1 = new Window1();
win1.getCode = textBox.Text;
this.Close();
}
}
如有任何建议,我们将不胜感激!
您需要将对 Window1 的引用传递给 child window:
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;
}
}
安东有答案。如果你想要另一种方式,你可以让第一个 window 成为第二个的所有者,这样现在所有者可以被引用回来。我打算写出一些代码,但记得 post 前一段时间显示它并找到了它。看看这个。
How to manipulate a window object from another class in WPF
我无法理解我的代码出了什么问题。
两个 Windows (window1 , window2 )
我在 window1 上有一个按钮 (button1) 和一个文本框 (textBox1),在 window2
上有另一个按钮 (button2) 和一个文本框 (textBox2)我想要什么:
是当我按下 button1 时,window2 将作为对话框打开,然后无论我在 textBox2 中写什么并按下 button2 都应该重定向到 window1,我的文本在 textBox1 中。
问题:
是当我点击button2时,没有数据传输到textbox1,它仍然是空的。
我的代码:
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();
}
}
这是另一个 window:
public partial class Window2 : Window
{
private void button_Click(object sender, RoutedEventArgs e)
{
Window1 win1 = new Window1();
win1.getCode = textBox.Text;
this.Close();
}
}
如有任何建议,我们将不胜感激!
您需要将对 Window1 的引用传递给 child window:
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;
}
}
安东有答案。如果你想要另一种方式,你可以让第一个 window 成为第二个的所有者,这样现在所有者可以被引用回来。我打算写出一些代码,但记得 post 前一段时间显示它并找到了它。看看这个。 How to manipulate a window object from another class in WPF