我有以下XAML:
<ComboBox
Name="groupComboBox"
ItemsSource="{Binding Path=MyServiceMap.Groups}"
DisplayMemberPath="{Binding Name}"/>
在后面的代码中,我将this.DataContext设置为我的viewModel。
private ServiceMap _serviceMap;
public ServiceMap MyServiceMap
{
get
{
return _serviceMap;
}
set
{
_serviceMap = value;
OnPropertyChanged("MyServiceMap");
}
}
我的ServiceMap类是
public class ServiceMap
{
//other code
public List<Group> Groups = new List<Group>();
}
最后:
public class Group
{
public string Name { get; set; }
}
不幸的是,这不起作用。如何绑定组合框以显示组名?
答案 0 :(得分:1)
您的代码存在两个问题。首先,绑定仅适用于属性,因此绑定无法找到“组”字段。将其更改为财产。
public class ServiceMap
{
public List<Group> Groups { get; set; }
}
第二个是DisplayMemberPath等待字符串而不是绑定。将其简单地更改为&#34; Name&#34;。
<ComboBox Name="groupComboBox"
ItemsSource="{Binding Path=MyServiceMap.Groups}"
DisplayMemberPath="Name" />
答案 1 :(得分:0)
您是否尝试过DisplayMemberPath =“Name”?