単純化すると、GUIを持つメインウィンドウクラスとファイルを操作するワーカークラスの2つのクラスを持つWPFアプリケーションがあります。メインウィンドウで、ユーザーがボタンをクリックすると、ワーカースレッドが開始されます。他のスレッドやクラスでイベントを発生させるためにスレッドに通知する#
作業者を止めるメインウィンドウにボタンを作りたいと思います。ただし、スレッドを強制終了せずに通知すると、そのユーザーはスレッドを中断し、ライターを閉じてファイルを保存できるようになります。
私は長い間stackoverflowを見ていましたが、すべての質問は私の問題に関するものではありません。私はループなどを反復していないことを指摘したいので、フラグを使用することはできません。メインウィンドウからスレッドクラスでイベントを発生させたい。どうやってやるの?
ワーカースレッドとしてどのデータ型を使用していますか。それはバックグラウンドワーカー、非同期タスク、スレッドですか?ほとんどがキャンセルトークンを持っていますが、生のスレッドを使用している場合は、バックグラウンドワーカーに切り替えることをお勧めします。そうしないと、この種のロジックを自分で実装する必要があります。 – xtreampb