使用带有可观察集合的Silverlight数据网格时遇到问题。我创建了一个Silverlight数据网格,从WCF RIA服务填充了一个可观察的集合,并将一个集合绑定到网格。它第一次工作正常,但是当我更改项目源内容时,数据不会在网格中刷新。当我双击datagrid单元格时,将显示内容。我可能会遗漏一些基本的属性设置。任何人都可以帮忙吗?
示例代码:
App.BPIContext.Load(App.BPIContext.GetWellFieldListValuesQuery()).Completed += DataSource_WellFieldDataListValueLoadComplete;
ObservableCollection<ScheduleWellCustomFields> _userWellCustomFields = new ObservableCollection<ScheduleWellCustomFields>();
void DataSource_WellCustomFieldsLoadComplete(object sender, EventArgs e)
{
_userWellCustomFields.Clear();
App.BPIContext.ScheduleWellCustomFields.ToList().ForEach(c => _userWellCustomFields.Add(c));
this.dtGridDrillingEngineer.ItemsSource = _userWellCustomFields;
}
答案 0 :(得分:3)
尝试在this.dtGridDrillingEngineer.ItemsSource = null;
his.dtGridDrillingEngineer.ItemsSource = _userWellCustomFields;
答案 1 :(得分:0)
获取绑定对象并强制刷新:
var bindingSource = TheDataGrid.GetBindingExpression(DataGrid.ItemsSourceProperty);
bindingSource.UpdateSource();