如果文本框上的文本是使用双向模式将数据绑定到属性并将文本设置为某些内容,它应该更新属性是否有意义?当我在控件中键入内容时,我的属性得到更新,但是当我在代码中设置值时,属性不会更新。设置textBox.Text不会更新绑定的twoway属性?
2
A
回答
3
我会说直接修改绑定的Text属性是没有意义的。你的代码应该设置绑定的另一端,并允许绑定更新控件。
如果在设置了Text属性时更新了绑定对象,那么需要使用特殊情况代码来检测何时这样的分配者是由于其他原因而导致绑定对象更改的结果。否则,你会以无限循环结束。
+0
这个问题来自我正在做的一些工作,以编程方式添加/删除数据绑定。我发现,只要我在代码中设置绑定,它就会将我所绑定的属性和文本框设置为空字符串。当我再次设置数据绑定时,我希望将文本框内的文本设置为属性,而不是其他方式。为什么我首先要删除数据绑定?因为该属性得到不断更新,并且我不希望文本框在焦点时更改其文本。 – djcouchycouch 2009-07-13 16:26:29
0
这是因为它只在文本框丢失焦点时提交数据。 Here是一个有点相关的问题,避免了这一点。
1
您不应该设置文本框的.Text值...设置它绑定到的属性的值。 :)
我鼓励你阅读更多关于Model-View-ViewModel方法来设计你的视图。在做这类工作时,它保持清晰的关注点。你看到这个导致绑定刷新的焦点的“bug”的原因是因为大多数时候这种事情是不合适的。
这是MVVM的一个很不错的视频介绍:MVVM on Channel 9
相关问题
- 1. 当在命令中设置属性时,绑定不会更新
- 2. 更新属性。设置绑定
- 3. 它不会改变属性,这是绑定(模式TwoWay)
- 4. 绑定不更新属性
- 5. 为什么TwoWay绑定不会更新UI元素?
- 6. TextBox.Text绑定到ViewModel的属性
- 7. 绑定到属性不会更新相关属性
- 8. TextBox.Text值不更新时被设置
- 9. 将变量绑定到.net textbox.text属性
- 10. Silverlight MVVM - Twoway绑定不会触发Datepicker
- 11. WPF中的绑定属性不更新
- 12. 更新绑定属性
- 13. 为什么更改DataGrid ComboBox值不会更新绑定属性?
- 14. 当属性更改时,绑定到控件不会更新
- 15. 数据绑定不会更新属性更改(UWP)
- 16. 绑定属性不会在自定义控件中更新
- 17. 如何将公共属性绑定到WPF TextBox.Text属性
- 18. WPF内部属性绑定不更新
- 19. 文本框绑定的属性值不会立即更新
- 20. 绑定到父控件属性时,子WPF控件的绑定不会更新
- 21. 绑定到DependencyProperty的属性不会更新,尽管双向绑定集
- 22. 属性不会更新它,如果绑定
- 23. WPF:属性绑定不会在运行时更新
- 24. xaml Twoway绑定到PhoneApplicationPage代码中的一个属性
- 25. 双向数据绑定:更新不更新绑定属性的文本框
- 26. 设置类名绑定的属性
- 27. 更新孩子属性更改时复合属性的绑定
- 28. 更新静态属性的绑定
- 29. WinJS绑定不会更新
- 30. TwoWay或OneWayToSource绑定无法在只读属性上工作
你能告诉我们一些代码吗? – 2009-07-13 16:19:02