原因是在ViewModel中在構造函數中注入了Window 對象,即使沒有使用,主窗口關閉程序不會退出,即使 ViewModel 是 AddTransient 注入的。
解決方法:不使用構造函數注入Window,通過GetService獲取Window
通過注入對象調用GetService() 獲取窗口對象,并且上面通過構造函數注入的窗體多次調用,只能打開一次,第二次報錯。
Window 對象通過AddTransient注入非單例 GetService獲取在注入的時候,多次調用無問題。
在 App.xaml 中設置下面的參數即使在構造函數中注入了Window 對象沒有使用也會正常退出
ShutdownMode="OnMainWindowClose"