C# 将数据绑定到WPF中的组合框
我正在尝试将CollectorTo列表中的配置文件绑定到wpf数据列表中的Combobox,请查找下面的代码C# 将数据绑定到WPF中的组合框,c#,wpf,wpf-controls,C#,Wpf,Wpf Controls,我正在尝试将CollectorTo列表中的配置文件绑定到wpf数据列表中的Combobox,请查找下面的代码 List<CollectorDTO> cdlist = new List<CollectorDTO>(); cbProfile.ItemsSource = cdlist; cbProfile.DisplayMemberPath = "Profile"; cbProfile.SelectedVa
List<CollectorDTO> cdlist = new List<CollectorDTO>();
cbProfile.ItemsSource = cdlist;
cbProfile.DisplayMemberPath = "Profile";
cbProfile.SelectedValuePath = "Profile";
请帮助绑定数据?您的显示成员路径应该是
\u profile
而不是profile
。另外,请确保在设置绑定之前填充了列表,因为您使用的是一个非可观察集合的普通列表(组合框无法知道您在设置绑定后向列表中添加了什么)。将列表定义更改为公共属性。大多数绑定只接受它们:
private List<CollectorDTO> _cdlist;
public List<CollectorDTO> cdlist
{
get { return _cdlist; }
set { _cdlist = value; }
}
private List\u cdlist;
公开名单
{
获取{return\u cdlist;}
设置{u cdlist=value;}
}
OP使用get set方法指定了以下变量,因此它只是完整属性的私有部分。虽然仍有可能将其命名为其他Profile
,但我忽略了这个细节。我想唯一需要注意的是,在设置绑定之前,项目已添加到集合中。我已将项目添加到设置中,但只有绑定无法正常工作。您的列表中是否有项目?请记住,在绑定到控件之前,您应该填充列表,因为绑定到空集合根本不起作用。请使用ObservableCollection代替列表,CollectorTo应该实现INotifyPropertyChangedHe正在后面的代码中设置绑定。数据源是公共的还是私有的在这里应该无关紧要。到目前为止,他没有任何属性,只有变量-这可能是个问题
private List<CollectorDTO> _cdlist;
public List<CollectorDTO> cdlist
{
get { return _cdlist; }
set { _cdlist = value; }
}