2014-02-12 144 views
0

您好,我正在一個簡單的MVVM項目;一個簡單的文本/配置編輯器,用於加載配置文件,然後在文件被更改的情況下檢查ViewModel,只需綁定一個布爾屬性即可啓用Save菜單項。但是這裏出現了一個問題,我無法在textbox控件中找到任何可能綁定到vm屬性的屬性,以防文本中發生更改。我設法通過在代碼隱藏中創建事件來模擬此:WPF C#Textbox文本更改ViewModel更新

(DataContext as AnalizeSectionViewModel).ContentChanged = true; 

事件在任何文本更改時觸發。但我想從文本框中綁定一個屬性,如下所示:

IsModified="{Binding ContentChanged}" 

可以這樣做嗎?

+0

你能提供更多的信息嗎?我無法弄清楚你正在嘗試做什麼。也許你也可以提供更多的代碼。例如,如果您向我們展示了您的ContentChanged屬性以及與此「TextBox」相關的更多XAML,則它將排除一些內容「 – deloreyk

+0

我試圖在文本中發生更改時綁定文本框的屬性到一個VM布爾值。我無法爲您提供代碼,因爲沒有太多需要顯示的內容。 – jonjohnson

回答

4

你應該能夠通過你的文本框結合

Text="{Binding MyViewModelProperty}" 

任何時候文本只是綁定文本文本框屬性模型改變模型的屬性將會改變,這將允許你做「東西」何時發生。這會在用戶移出該字段時觸發屬性已更改的事件。現在

,如果用戶的目的是爲它每次用戶類型,那麼你可以在

UpdateSourceTrigger="PropertyChanged" 

明確地釘通過將其設置到的PropertyChanged火,你會得到每一次每一個通知和文本變化。

+0

感謝這很好 – jonjohnson