C# WPF将ItemSource绑定到数组中实例的属性

C# WPF将ItemSource绑定到数组中实例的属性,c#,arrays,wpf,binding,C#,Arrays,Wpf,Binding,假设我有一个班级组织: public class Organisation(){ public string Name{ get; set; } public string Code{ get; set; } } public Organisation[] Organisations; 然后我创建一个组织的数组: public class Organisation(){ public string Name{

假设我有一个班级
组织

public class Organisation(){
   public string Name{
      get;
      set;
   }
   public string Code{
      get;
      set;
   }
}
public Organisation[] Organisations;
然后我创建一个
组织的数组

public class Organisation(){
   public string Name{
      get;
      set;
   }
   public string Code{
      get;
      set;
   }
}
public Organisation[] Organisations;
组织信息存储在xml中,并填充到数组中,效果非常好

我的问题是,我想将Combobox的ItemSource绑定到我组织的Name属性

如果我有一个表示名称的字符串数组,这将非常简单:

public string[] OrgansationNames = new string[]{"Organ1", "Organ2" /**/};
然后我可以很容易地像这样绑定:

ItemSource="{Binding Path=OrganisationNames}"
ItemSource="{Binding Path=Organisations[].Name}"
显然,这有点复杂,我需要这样的东西:

ItemSource="{Binding Path=OrganisationNames}"
ItemSource="{Binding Path=Organisations[].Name}"
我不清楚在这种情况下应该如何指定路径…

您可以使用属性:

<ComboBox ...
          ItemSource="{Binding Path=OrganisationNames}"
          DisplayMemberPath="Name" />

如果您没有任何
Id
,那么您也可以将
SelectedValuePath
设置为
Name

我对它进行了测试,它可以在不指定SelectedValuePath的情况下工作(!)。它应该解决什么问题?您可以删除它,
SelectedValuePath
属性指定用于确定SelectedValue属性值的属性路径。这绝对令人惊讶!我不知道高级副总裁的事。天哪,非常感谢你。这将为我节省一些电话:)将在7分钟内接受…@Farhad Jabiyev:只是为了完成回答。如果您需要在每个项目中仅显示一个属性以外的内容,例如FirstName、LastName和Photo,则可以使用DisplayMemberPath的ItemTemplate istead: