OnValidation 和 OnPropertyChanged
有的时候在编辑空间里输入了数据,然后按Toolbar button保存,就会发现数据根本没有更新到绑定的数据源里,但是如果你在点button之前,先点一下其他地方转移一下焦点的话就没有问题了。怎么回事呢?
原来就是DataBindings里的Update Datasource这个设置,如果是默认的写法:
ctl.DataBindings.Add(new Binding("Text", this.bindingSource, "PropertyName", true));这样默认的是在Validated后才会更改数据源,而Validation事件却是会在LostFocus后才触发的,所以就会出现上面的情况。
怎么处理呢?
ctl.DataBindings.Add(new Binding("Text", this.bindingSource, "PropertyName", true, DataSourceUpdateMode.OnPropertyChanged));像上面那样就可以了。一更改立即触发。当然,这个属性最好用到Dropdown类似的地方里,确保输入更改不会产生错误。
posted on 2010-01-14 11:46 NullReference 阅读(2897) 评论(0) 编辑 收藏 举报