Dotnet 4.5已推广到我们的组织。升级后我的一个WPF工具坏了(一个网格不显示任何内容)。
应用程序有一些数据网格绑定到不同的源。除数据类型外,每个源都是相同的。
所有其他来源都在100%工作。
我可以看到包含数据的集合根本就不是更新数据网格。 我已将网格换成标准的ListBox,但没有变化。
似乎用整个集合替换值是行不通的。如果我迭代并将项目添加到现有列表,那么它就可以工作。
编辑1: 为什么CollectionChanged事件在此ObservableCollection上为null?!?
所有数据源的结构如下。
数据绑定:
{Binding Sprints, Source={x:Static ViewModels:CoreViewModel.Instance}}
属性(数据源):
private ObservableCollection<SprintEntity> _sprintsField;
public static ObservableCollection<SprintEntity> Sprints
{
get
{
return Instance._sprintsField;
}
set
{
if (Instance._sprintsField != value)
{
Instance._sprintsField = value;
Instance.RaisePropertyChanged("Sprints");
}
}
}
获取数据的代码(正确提取数据):
public static void GetSprints(int workspaceID, Action<bool, string> callback)
{
var proxy = new NotificationServiceClient();
proxy.GetSprintsCompleted += (sender, e) =>
{
if (e.Error == null)
{
Sprints = e.Result;
callback(true, null);
}
else
{
callback(false, e.Error.Message);
throw e.Error;
}
};
proxy.GetSprintsAsync(workspaceID);
}