我想在点击按钮时在我的WPF DataGrid
中设置一个单元格。
我像这样填写WPF DataGrid
:
myDataGrid.ItemsSource = GetMyList();
DataGrid
设置为autoGenerateColumns
。我使用mySql选择获取我的列表。
我列表中的对象实现了INotifyPropertyChanged
接口。
在我的按钮上单击我这样做:
MyObject o = (MyObject)myDataGrid.SelectedItem;
o.Checkin = DateTime.Now; //set date on button click is what i want
已设置数据,但DataGrid
未更新其视图。为什么呢?
编辑:
我实现了INotifyPropertyChanged
接口,如下所示:
private void NotifyPropertyChanged(String info) {
if (PropertyChanged != null) {
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
public DateTime Checkin {
get {return this.checkin;}
set {
this.checkin= value;
NotifyPropertyChanged("Checkin");
}
}
}
答案 0 :(得分:1)
这就是诀窍:
myDataGrid.Items.Refresh();
答案 1 :(得分:0)
如果您不使用autogeneratecolumns并将columnsdefinition中的绑定显式设置为TwoWay会发生什么?
<DataGridTextColumn Header="Checkin " >
<DataGridTextColumn.Binding>
<Binding Path="Checkin " Mode="TwoWay">
</Binding>
</DataGridTextColumn.Binding>
</DataGridTextColumn>