如果TextBox上的Text使用twoway模式数据绑定到属性并且我将Text设置为某个东西,它是否应该更新属性?当我在控件中输入时,我的属性会更新,但是当我在代码中设置值时,我的属性不会更新。
答案 0 :(得分:3)
我想说直接修改绑定的Text属性是没有意义的。您的代码应该设置绑定的另一端并允许绑定更新控件。
如果在设置Text属性时更新了绑定对象,则需要使用特殊情况代码来检测何时此绑定对象是由于其他原因而更改绑定对象的结果。否则你最终会得到一个无限循环。
答案 1 :(得分:1)
您不应该设置文本框的.Text值...设置它绑定到的属性的值。 :)
我建议您阅读有关用于设计视图的Model-View-ViewModel方法的更多信息。在进行此类工作时,它会明确区分关注点。你看到关于焦点导致绑定刷新的这个“错误”的原因是因为大多数时候这种事情是不合适的。
这是MVVM的一个非常好的视频介绍:MVVM on Channel 9
答案 2 :(得分:0)
这是因为它只在文本框失去焦点时才提交数据。 Here是一个与此有关的问题。