私のメインウィンドウ(スレッドA)では、ユーザーが待機している間に新しいスレッド(スレッドB)を起動します。別のスレッドのイベントを起動する
スレッドB火災イベントエラーや余分な情報は、ユーザーから要求されるがある場合、スレッドAは、これらのイベントに耳を傾けます。スレッドAのイベントリスナーで
は私が私がカスタムダイアログウィンドウを持っており、それがdialogWindow.showDialog()
を使用して表示し、ユーザーにダイアログメッセージを表示する必要があります。これは正常に動作しますが、ダイアログのオーナーを設定しようとするとエラーが発生します。私はこれを行いますdialogWindow.Owner = Window.GetWindow(this)
。
私が手にエラーがある:別のスレッドがそれを所有しているので、呼び出し元のスレッドがこのオブジェクトにアクセスすることはできません。
別のスレッドから発生するイベントをリッスンする正しい方法は何ですか?
ありがとう、素晴らしい作品。 BeginInvokeではなくInvokeを使用していますが、同じことです。 – Drahcir
BeginInvokeを使用してください。Invokeはハンドルを解放しません。 – peterincumbria