0

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);
}
4

0 に答える 0