【发布时间】:2013-11-06 12:52:24
【问题描述】:
我正在使用这行代码将我的 TextBox 控件数据绑定到我的对象。
textBox1.DataBindings.Add("Text", myObject, "Text", false, DataSourceUpdateMode.OnPropertyChanged);
它按预期工作。但是,如果我将更新模式更改为 OnValidation,则数据绑定仅以 Object->Control 的一种方式工作。这意味着如果我在验证时在文本框中键入任何内容,则该值将重置为对象 Text 属性的值。反之亦然。
我曾尝试在测试项目中复制此问题,但失败了。所有“更简单”的版本都按预期工作。
我可以说的是 INotifyPropertyChanged 属性是在抽象类中实现的。我的对象继承了该类。此外,在运行时创建 TextBox 控件并进行数据绑定,然后将其添加到表单中。我已经在我的测试项目中尝试了所有这些并且它有效,所以我在这里遗漏了一些东西。
感谢任何有关如何调试此问题的提示。谢谢。
【问题讨论】:
-
如果出现一些奇怪的问题,DataBinding 很难调试,抱歉。这是使用绑定时最烦人的事情之一(
winforms和wpf)
标签: c# winforms data-binding