INotifyPropertyChanged を実装するカスタム オブジェクトがあります。コレクションがBindingListに基づいているこれらのオブジェクトのコレクションがあります。コレクションのバインディングソースを作成し、バインディングソースとデータグリッドビューのデータソースを設定しました。
バックグラウンド スレッドからカスタム オブジェクトのプロパティを更新する必要があることを除いて、すべてがうまく機能します。そうすると、次のエラーが表示されます。
BindingSource を独自のデータ ソースにすることはできません。DataSource および DataMember プロパティを、BindingSource を参照する値に設定しないでください。
私は正確な問題(および解決策?)があるように見える次の投稿を見つけましたが、それを完全に理解することはできません.
ビジネス オブジェクトのポストごとに oper 変数を作成して初期化し、2 つのイベント関数をコレクション クラスに入れました。これは正しくコンパイルされますが、実行すると例外なくハングします。
Invoke/Begin Invoke を使用するように言っている投稿をたくさん見てきましたが、UI で関数を呼び出しておらず、ビジネス オブジェクトを更新しているだけなので、invoke 呼び出しをどこに置くかわかりません。
1 つの制限: ビジネス オブジェクトが誰がそれを表示しているか (複数のコンシューマーが存在するため) を認識しないようにしたいので、GUI 参照をビジネス オブジェクトに送信して、後でそれらの参照を使用して呼び出しを呼び出せるようにすることはオプションではありません。