【发布时间】:2011-11-16 10:56:05
【问题描述】:
我有一个 c# winforms 应用程序,其中包含许多不同的控件,这些控件(通过 bindingsource)绑定到我的业务对象的不同属性(并且该对象实现了 INotifyPropertyChanged)。当我的用户将某个控件设置为特定值时,我需要更改另一个属性的值(在代码中),甚至可能禁用绑定到该属性的控件。例如,我有一个映射到 datetime 属性的 datetimepicker。如果我的用户输入的时间值小于 00:10:00 (HH:MM:SS),我需要取消选中一个复选框(绑定到 bool 属性)。目前,我在验证事件处理程序中有代码,它查看 datetimepicker 中的值,如果 .Hour == 0 和 .Minute
如果我在调试器中查看 datetimepicker 的值,它会在这行代码执行后立即重置:
businessObject.booleanVariable = false;
在我以编程方式将布尔属性设置为 false 之前,我是否需要做一些事情来强制将 datetimepicker 值返回到对象属性?!?还是我对这一切都错了?是否有其他方法可以处理可能影响其他绑定控件的绑定控件?
【问题讨论】: