我正在尝试将复选框绑定到自定义对象布尔属性,如下所示:
chkTableIsReadonly.DataBindings.Add(New Binding("Checked", objectBindingSource, "ApplyforVisa", True, DataSourceUpdateMode.OnPropertyChanged, False))
自定义类支持INotifyPropertyChanged接口。
当我最初将复选框绑定到新对象时,一切正常:
objectBindingSource.Datasource = new objectToBindTo
这是奇怪的部分:
我尝试捕获CheckedChanged事件以手动设置object.ApplyForVisa属性,但没有成功。调用属性Set并调用INotifyPropertyChanged事件,但我仍然锁定在控件上,无法导航。
我曾尝试在CheckedChanged事件中调用bindingsource.endedit,但没有成功。
只有当我取消选中此框时才重要。复选框是双状态 - true或false。
我的所有其他绑定工作得很好 - 文本框,组合框,数据网格。不是复选框。
我唯一的想法是,它看起来像绑定源数据错误,但没有抛出错误。如果我为绑定源添加数据错误事件处理程序,它永远不会被调用。
答案 0 :(得分:4)
假设ApplyForVisa
属性是布尔值,您可以通过将formattingEnabled
的{{1}}参数设置为False来解决此问题。
Binding