2012-05-17 43 views
0

我在ViewModel中有一個屬性,我將其稱爲「Project」,其中包含多個嵌套列表。因爲我可以通過使用觸發器和綁定來顯示xaml中的所有內容,所以這些列表都沒有在視圖模型中具有關聯的屬性。 我的xaml在樹視圖中顯示項目層次結構,並在多個視圖中顯示其細節(內容控件根據在樹視圖中選擇哪個項目來選擇正確的視圖)。其中一個「細節」是包含在其中一個嵌套列表中的對象的屬性,我將其顯示在文本框中,以便用戶可以對其進行編輯,我遇到的問題是我沒有看到該屬性已更新在虛擬機的項目屬性中,一旦我在文本框中進行更改。 我被告知我必須在虛擬機中爲該特定對象的屬性創建一個屬性,我正在嘗試編輯,我只是​​不知道該如何對象深入到我的Project對象的一個​​嵌套列表中。如何將對象的內部屬性從UI更新到VM? (WPF MVVM)

+1

你能分享一些你的代碼,所以我們有一個更好的背景? – EtherDragon

回答

0

常見的錯誤有:

使用單向綁定模式而不是雙向

在XAML:

<TextBox Text="{Binding Path=Name, Mode=TwoWay}" /> 

在不知道以後的更新不會傳播到VM,直到TextBox失去了焦點。

這是文本框的默認:

<TextBox Text="{Binding Path=Name, UpdateSourceTrigger=LostFocus}" /> 

你可以將其更改爲:

<TextBox Text="{Binding Path=Name, UpdateSourceTrigger=PropertyChanged}" />  
相關問題