2014-09-11 155 views
0

我有一个WPF数据网格,我想绑定到以下数据模型,但我似乎无法得到它正确。最初,我绑定的列表将是空的,我想让用户能够输入信息。所以我定义了数据网格,例如:问题绑定到WPF Datagrid

<DataGrid Name="dgUsers" AutoGenerateColumns="True" CanUserAddRows="True" CanUserDeleteRows="True"/> 

我的模型类如下:

public class User 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public DateTime Birthday { get; set; } 

    public string Details 
    { 
     get 
     { 
      return String.Format("{0} was born on {1} and this is a long description of the person.", this.Name, this.Birthday.ToLongDateString()); 
     } 
    } 
} 

public class Group : INotifyPropertyChanged 
{ 
    private string _id = Guid.NewGuid().ToString(); 

    private string _name; 
    public string Name 
    { 
     get { return this._name; } 
     set 
     { 
      if (value != this._name) 
      { 
       this.Name = value; 
       OnPropertyChanged("Name"); 
      } 
     } 
    } 

    public string ID { get { return this._id; } } 
    public List<User> GroupUsers 
    { 
     get; 
     set; 
    } 

    public event PropertyChangedEventHandler PropertyChanged; 
    protected void OnPropertyChanged(string propertyName) 
    { 
     if (PropertyChanged != null) 
     { 
      PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); 
     } 
    } 
} 

我希望做的是对集团类绑定,但只对GroupUsers值。我怎么做?我有我的用户属性GroupUsers正确定义为TwoWay绑定?

回答

3

你需要有User类实现INotifyPropertyChangedGroupUsers属性应该是一个ObservableCollection<T>

+0

好的,谢谢。那么,我要如Name属性一样遵循INotifyPropertyChange模式吗? – 2014-09-11 10:42:19

+0

是的。对于User类中的每个公共属性。 – toadflakz 2014-09-11 10:45:03

+0

谢谢你,它现在似乎是正确的绑定!感谢您的帮助。 – 2014-09-11 11:25:16