日期:2014-05-18  浏览次数:20811 次

绑定到对象后的数据刷新问题
我自定义了一个类,其中有两个属性。将其实例化成C后,,两个属性分别绑定到A,B两个TextBox控件上。现在的问题是,我在代码中给C的两个属性赋值,界面上不会立刻显示出来,需要我在A、B两个控件中切换一次焦点,才能够将C中的属性值显示在控件中,那么有没有什么办法,可以直接在绑定对象的数据变更时,直接刷新控件的显示?

------解决方案--------------------
你可以使用OnPropertyChanged这个选项,而不使用默认的OnValidation就可以了,比如:


this.textBox1.DataBindings.Add(new System.Windows.Forms.Binding( "Text ", this, "Size ", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged, "空值 ", "N2 "));

------解决方案--------------------
DataSourceUpdateMode.OnPropertyChanged是控制什么时候将界面值写入对象。

seek for System.ComponentModel.INotifyPropertyChanged