2011-06-30 34 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

相关问题