一千萬個為什麽

搜索

MVVM-有沒有一種方法可以在不使用數據綁定的情況下獲取和設置文本框的文本?

我需要能夠獲取和設置文本框的文本,但我不希望文本框文本中的每一個更改都更新我的viewmodel中的字符串。在我看來,將字符串綁定到文本框的文本屬性幾乎與更新文本框的textchanged事件上的字符串效率低或者我錯了嗎?

最佳答案

用於綁定的默認 UpdateSourceTrigger TextBox.TextLostFocus ,這意味著只有在離開TextBox時才會更新viewmodel中的字符串。

當然,如果你做這樣的事情


然後,每當文本框中的某些內容發生變化時,您的字符串都會更新。所以,是的,它“幾乎與更新文本框的textchanged事件中的字符串一樣低效”。

盡管如此,我在這裏看不到現實世界的問題:即使您有一個非常快速的輸入用戶,更新內存中的字符串也不是一項需要花費大量時間的操作。事實上,通過TextBox本身處理用戶輸入(顯示鍵入的字符,如果到達框的末尾則向左滾動文本等)也需要相當多的處理,所以我不認為更新你的字符串造成了這種不合理的額外負擔。

轉載註明原文: MVVM-有沒有一種方法可以在不使用數據綁定的情況下獲取和設置文本框的文本?