刷新Silverlight数据网格时出现问题
我在使用Silverlight数据网格和可观察的集合时遇到问题。我已经装箱了一个Silverlight数据网格,填充了一个来自WCF RIA服务的可观察集合,并将一个集合绑定到网格。它第一次工作正常,但是当我更改项目源内容时,数据不会在网格中刷新。当我双击datagrid单元格时,将显示内容。我可能缺少一些基本属性设置。有人能帮忙吗 示例代码:刷新Silverlight数据网格时出现问题,silverlight,datagrid,Silverlight,Datagrid,我在使用Silverlight数据网格和可观察的集合时遇到问题。我已经装箱了一个Silverlight数据网格,填充了一个来自WCF RIA服务的可观察集合,并将一个集合绑定到网格。它第一次工作正常,但是当我更改项目源内容时,数据不会在网格中刷新。当我双击datagrid单元格时,将显示内容。我可能缺少一些基本属性设置。有人能帮忙吗 示例代码: App.BPIContext.Load(App.BPIContext.GetWellFieldListValuesQuery()).Completed
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;
}
App.BPIContext.Load(App.BPIContext.GetWellFieldListValuesQuery()).Completed+=DataSource\u WellFieldDataListValueLoadComplete;
ObservableCollection_userWellCustomFields=新的ObservableCollection();
无效数据源\u WellCustomFieldsLoadComplete(对象发送方,事件参数e)
{
_userWellCustomFields.Clear();
App.BPIContext.ScheduleWellCustomFields.ToList().ForEach(c=>\u userWellCustomFields.Add(c));
this.dtGridDrillingEngineer.ItemsSource=\u userWellCustomFields;
}
尝试添加this.dtGridDrillingEngineer.ItemsSource=null
beforehis.dtGridDrillingEngineer.ItemsSource=\u userWellCustomFields代码>获取绑定对象并强制刷新:
var bindingSource = TheDataGrid.GetBindingExpression(DataGrid.ItemsSourceProperty);
bindingSource.UpdateSource();
您是否仅更改了ObservableCollection的内容(即添加、删除)或在datagrid上设置了ItemsSource属性?也许你会期望你的数据发生变化。确保在这种情况下抛出PropertyChanged。我同意Joachim Kerschbaumer的观点,在ScheduleWellCustomFields的属性中设置了NotifyPropertyChanged?我的问题是控件在最初使用时没有重新绘制。@这不是问题所在