如果文本框上的文本是使用雙向模式將數據綁定到屬性並將文本設置爲某些內容,它應該更新屬性是否有意義?當我在控件中鍵入內容時,我的屬性得到更新,但是當我在代碼中設置值時,屬性不會更新。設置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