假设我有一个班级Organisation
:
public class Organisation(){
public string Name{
get;
set;
}
public string Code{
get;
set;
}
}
然后我创建了一个Organisation
:
public Organisation[] Organisations;
组织信息存储在xml中并填充到数组中,效果很好 我的问题是,我想将Combobox的ItemSource绑定到我的组织的Name属性。
如果我只有一个代表名字的字符串数组,那将非常容易:
public string[] OrgansationNames = new string[]{"Organ1", "Organ2" /**/};
然后我可以像这样轻松绑定:
ItemSource="{Binding Path=OrganisationNames}"
显然它有点复杂,我需要这样的东西:
ItemSource="{Binding Path=Organisations[].Name}"
我不清楚在这种情况下我应该如何指定路径......
答案 0 :(得分:3)
您可以使用DisplayMemberPath
属性:
<ComboBox ...
ItemSource="{Binding Path=OrganisationNames}"
DisplayMemberPath="Name" />
此外,您可以使用SelectedValuePath
属性,该属性将指定用于确定SelectedValue
属性值的属性的路径。
<ComboBox ...
ItemSource="{Binding Path=OrganisationNames}"
DisplayMemberPath="Name"
SelectedValuePath="ID"/>
如果您还没有Id
,那么您也可以将SelectedValuePath
设置为Name
。