2013-02-26 147 views
0

我试图从collectorDTO的从数据的列表WPF列表,组合框结合的个人资料,请在下面找到数据绑定到组合框在WPF

List<CollectorDTO> cdlist = new List<CollectorDTO>(); 
      cbProfile.ItemsSource = cdlist; 
      cbProfile.DisplayMemberPath = "Profile"; 
      cbProfile.SelectedValuePath = "Profile"; 

收藏家代码DTO包含获取设置以下变量方法

private int _coldataId; 
private string _profile; 
private string _protocol; 
private string _hosttype; 
private string _host; 
private string _uid; 
private string _pwd; 
private string _remdir; 
private string _locdir; 
private string _database; 
private string _audittrail; 
private string _skeleton; 
private string _tmode; 
private string _cmdstr; 
private string _starttime; 
private string _stoptime; 
private int _period; 
private string _addinfo; 

请帮忙绑定数据?

+0

您的列表是否包含项目?记住你应该填充列表之前绑定到控制作为绑定到空集合简单地不工作 – Nogard 2013-02-26 15:34:41

+0

而不是List 使用ObservableCollection ,CollectorDTO应impliment INotifyPropertyChanged – makc 2013-02-26 15:59:22

回答

0

您的显示成员路径应为_profile而不是Profile。另外,请确保在设置绑定之前填充了您的列表,因为您使用的是不是可观察集合的普通列表(组合框在安装绑定之后无法知道您向列表添加了什么内容) 。

+0

OP指定'下面的变量与get set方法'所以它只是私人部分的全部财产。尽管我仍然有机会可以将其命名为'Profile' – Nogard 2013-02-26 15:24:04

+0

,但我错过了这个细节。我猜想唯一需要注意的是在绑定设置之前将项目添加到集合中。 – Ameen 2013-02-26 15:39:33

+0

我已经将项目添加到设置中,但只有绑定无法正常工作 – 2013-02-27 10:24:01

0

将您的列表定义更改为公共属性。大多数绑定只接受它们:

private List<CollectorDTO> _cdlist; 
public List<CollectorDTO> cdlist 
{ 
    get { return _cdlist; } 
    set { _cdlist = value; } 
} 
+0

他正在代码隐藏中设置绑定。数据源是公有还是私有应该在这里无关紧要。 – Ameen 2013-02-26 15:40:26

+0

到目前为止,他没有任何财产,只是变量 - 这可能是一个问题 – Nogard 2013-02-26 15:46:20