我有一个绑定到 LLBLGen 实体的 WinForms 表单(虽然我认为这个问题不是特定于这个绑定源,但我提到它以防万一)。我的目标似乎很简单:根据其他字段的计算更新表单上的另一个字段。
我的问题是我想重用表单上其他地方使用的相同业务逻辑来执行此计算,因此我将绑定实体传递给业务逻辑层,以便对其进行处理。
我觉得奇怪的是,我在焦点链中找不到位置(请参阅:http: //msdn.microsoft.com/en-us/library/system.windows.forms.control.enter.aspx)可以以更新的形式使用绑定实体。计算执行得很好,但使用的是更新前的值。
过去,我通过从 .text 中获取值、验证它们是否可用并从那里开始来解决这个问题。我还使用“更新”按钮解决了这个问题:点击事件可以访问更新的值,即使我是从编辑值立即单击。
不过,我似乎遗漏了一些明显的东西:在事件链的某个地方,绑定值应该被更新,我应该能够在那里运行我的计算。
我的核心问题:我应该使用什么事件来访问 WinForms 中更新的绑定元素?