Dotnet 4.5 が組織に展開されました。アップグレード後、1 つの WPF ツールが壊れています (1 つのグリッドに何も表示されません)。
アプリケーションには、異なるソースにバインドされたいくつかのデータグリッドがあります。各ソースは、データ型を除いて同一です。
他のすべてのソースは 100% 機能しています。
コレクションにデータが含まれているだけで、データグリッドが更新されていないことがわかります。グリッドを標準の ListBox に交換しましたが、変更はありません。
値をコレクション全体に置き換えてもうまくいかないようです。反復して既存のリストにアイテムを追加すると、機能します。
編集 1: この ObservableCollection で CollectionChanged イベントが 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);
}