web-dev-qa-db-ja.com

WPFアプリケーションは、閉じた後もバックグラウンドで実行されます

これはここで尋ねられた質問に少し関連していますが、私はスレッドを使用していないため、答えは私の場合には当てはまりません。

WPFが正しく閉じない

WinFormアプリケーションの1つをWPFアプリケーションに変換しましたが、いくつかの単語をWPF/C#4.0の同等のものに変更する以外は何もする必要はありません(MessageBoxButtonsからMessageBoxButton、なぜ1文字の違いですか?)。

とにかく、デバッガーを介してアプリケーションを実行すると、ウィンドウの右上にある[X]ボタンでアプリケーションを閉じるまで正常に実行されます。アプリケーションウィンドウは閉じますが、デバッガーに停止アイコンが表示されていることに気付きました。タスクマネージャーをチェックインすると、まだ実行中であることが確認されます。

私はバックグラウンドで他のスレッドを実行していないので、他のスレッドを待っていないことがわかります。

WPFを使い始めたばかりですが、ユーザーがアプリケーションを閉じると、アプリケーションを閉じる必要があると思いました。

助けてくれてありがとう!

28
Jamie Keeling

あなたの シャットダウンモード は何ですか?明示的な場合は、明示的にシャットダウンしていないためです。メインウィンドウの場合は、メインウィンドウをApplication.MainWindowに割り当てていないためです。

37
Kent Boogaart

アプリケーションを閉じるボタンに次のコードを記述します。

Application.Current.Shutdown()
9
Shivanhsu Verma

または、これをApp.csに追加します

public App()
    {
        ShutdownMode = ShutdownMode.OnLastWindowClose;
    }

詳細はこちら

2