为什么这些DataBindings不更新?
问题描述:
我创建了一个类添加数字:为什么这些DataBindings不更新?
public class Add
{
private int num1;
public int Num1
{
get { return num1; }
set { num1 = value; }
}
private int num2;
public int Num2
{
get { return num2; }
set { num2 = value; }
}
public int Result
{
get { return num1 + num2; }
}
}
并创建文本框的结果结合:
private void Form1_Click(object sender, EventArgs e)
{
add.Num1++;
MessageBox.Show(add.Result.ToString());
}
:
public partial class Form1 : Form
{
Add add = new Add();
public Form1()
{
InitializeComponent();
textBox1.DataBindings.Add("text", add, "Result");
}
...
我通过捕获Click事件更改属性
在这种情况下,MessageBox显示正确的值。但textBox1仍包含旧值。 为什么DataBindings无法在此代码中工作?
PS。对我弱的英语感到抱歉。
答
因为你从来没有告诉过它。
数据绑定基础架构无法神奇地检测到您的属性更改时。
您需要实现INotifyPropertyChanged
接口并在任何属性更改时提升PropertyChanged
事件。
我执行INotifyPropertyChanged之后,接下来我该做什么。通过使用事件和使用数据绑定更新值的差异 – mibtrex 2011-02-16 02:49:57