ここに新しい問題があります。ContentGridであるMainWindowがあり、これにはFrameがあります。これで、この「コンテンツ領域」に表示できるさまざまなページを作成しました。これらのページの1つに、SourceがデータベースであるCollectionViewSourceにバインドされたDatagridがあります(EntityFrameworkを介して)。これで、このデータベーステーブルの変更が発生した場合(ServiceBrokerとSQLDependencyを介して解決され、起動は正常に機能します)、データグリッドを更新する必要があります。 問題: 「Dependency_OnChange」-イベントがMainWindow-Threadで機能しています。ページのCollectionViewSourceにアクセスして更新しようとすると(cvs.View.Refresh)、このCVSを所有する別のスレッドが原因でこれが不可能であるという例外が発生します。
私は次のような別のディスパッチでそれを試しました:
Application.Current.Dispatcher.Invoke((Action)(()=>
{
cvs.Source = _db.Table.OrderByDescending(nr => nr.Date).Take(200);
cvs.View.Refresh();
}));
このコードブロックは例外を発生させませんが、UIも更新しません...何もしないようです。
誰か助けてもらえますか?