【发布时间】:2016-04-12 06:56:28
【问题描述】:
在 WPF 上,我有打开 form2 的窗口 form 1
在form2我有
public partial class form2 : Window
{
public int temp1;
public form2()
{
InitializeComponent();
temp1 =123 ;
this.tempTextBox.Text = temp1.ToString();
}
}
在form1 我想打开form2 但编辑temp1 的值
我想做的是:
Window newWind = new form2();
(newWind as form2).temp1=555;
newWind.Show();
但是当form 2 打开时,我看到tempTextBox = 123
我想去那里看看555
请问我该怎么做?
谢谢!
【问题讨论】:
-
temp1的值是多少...您必须将tempTextBox的值重置为temp1才能看到更改 -
您正在设置 temp1 值,但我认为您从未设置过文本框文本。您在“this.tempTextBox.Text = temp1.ToString()”形式的初始化中将其设置为 123,但随后设置了变量,这对更改文本框没有任何作用。我想如果你放一个断点并检查 temp1,它会保存 555。你只需要更新文本框。
-
您将
tempTextBox.Text设置为该值,而不是绑定它。要正确设置绑定,您需要 a) 实现 INotifyPropertyChanged 以便属性更改通知起作用,b) 使temp1成为具有 get/set 访问器的属性,以及 c) 将tempTextBox.Text绑定到temp1属性。网上有很多例子。或者,只需像 Aaron 所说的那样,让属性的 set 访问器更新文本框的值。