私はアドバイスと明確化が必要です。私は現在、データベースの内容をデータグリッドに表示する必要のあるモニタアプリケーションに取り組んでいます(私はWPFToolkitグリッドbtwを使用しています)。グリッドは、ADO.NET DataSetのテーブルにバインドされ、正常に動作します。 UIのボタンを使ってDataSetを変更すると、グリッドが更新され、誰もが幸せになります(バインディングとADO.NETはthis blogでうまく説明されています)。ただし、データベースは他のアプリケーションによって更新され、モニタアプリケーションはこれらの変更を自動的に表示する必要があります。データセットはデータベースをポーリングすることによって更新されます(DBからのpost_eventをリスンするさまざまな理由が該当しません)が、変更はグリッドに表示されません。マルチスレッドADO.NETアプリケーションでのWPFとデータバインディング
私が理解している限り、これはWPFデータバインディングの機能です。 UI以外のスレッドからソースを更新することはできません。私の心の中では、これは気違いです。他のユーザーやアプリケーションからデータが入力される場所には、何千ものアプリケーションが存在するはずです。 Dispatcherを使用してソースの実際の更新をUIスレッドに移動しようとしましたが、同じエラーが表示されます。
これで私の質問に答えました:私の分析は正しいのですか?問題が解決する方法についてアドバイスがありますか?また、私の分析が正しい場合、誰かがWPFがそのように機能する理由を説明しようとすることができますか?
ありがとうございました