【发布时间】:2026-02-03 11:00:02
【问题描述】:
我的提交表单通过 bindingSource1 绑定到提交 ViewModel。
我的预期:编辑时,我不希望将 UI 值分配给 ViewModel。
我希望只有在点击“提交”按钮后才将值分配给 ViewModel,并且验证 UI 值,然后我将调用 bindingSource.EndEdit();。只有到那时,UI 值才应该写入 ViewModel。
我的经历:我发现我的理解不正确。在我编辑了一个文本字段后,一旦我失去了对该文本框或组合框的关注,更改就会以这样的方式被记住,无论我点击“取消”还是 [x] 关闭按钮都无关紧要。当这个 Form 关闭时,该值现在被分配到内存中的 ViewModel 中。 (当然,因为我没有点击“提交”,所以没有走完所有的IO逻辑)
当我“取消”/[x] 关闭我的编辑时,我希望 bindingSource 放弃不需要的更改。我该怎么做?
【问题讨论】:
标签: c# winforms data-binding