2011-06-30 40 views

回答

0

如果我正確理解你,你有一個組合框綁定到用戶實例列表。 User類具有Employee類型的屬性,而Employee類具有稱爲FullName類型爲string的屬性。視圖模型也具有Document類型的屬性,而Document類有一個名爲UserFullName的屬性類型爲string的屬性。當您在ComboBox中選擇一個值(用戶)時,要將FullName(User.Employee.FullName)的值設置爲Document(Document.UserFullName)的UserFullName屬性。

對不起?

如果這是您唯一想做的事情,也許最簡單的解決方案是不將ComboBox綁定到User-Instance集合,而是綁定到這些用戶的FullName字符串集合(來自Employee) 。只需遍歷用戶列表即可創建該集合。如果將ComboBox綁定到字符串集合,則應該只能將ComboBox的SelectedValue直接綁定到Document(Document.UserFullName)的UserFullName。

另一種解決方案是在您的viewmodel中擁有User類型的「SelectedUser」屬性,並將ComboBox的SelectedValue綁定到此。每當這個變化的值你也設置Document.UserFullName的值,像這樣:

private User _selectedUser; 
public User SelectedUser 
{ 
    get 
    { 
     _return _selectedUser; 
    } 
    set 
    { 
     if (value != _selectedUser) 
     { 
      _selectedUser = value; 
      Document.UserFullName = _selectedUser.Employee.FullName; 
      OnPropertyChanged("SelectedUser"); 
     } 
    } 
} 
+0

是的,情況是正確的。感謝我的問題的描述。我想是的,綁定字符串的集合。但我不想公佈數據(用戶列表 - 我也在這個窗口中使用) –

+0

好的,我明白了。我在上面的原始答案中提供了另一個想法。希望能幫助到你。 – haagel

相關問題