App.Current.Shutdown()異步工作。這意味着當你調用這個方法時,你不能保護執行Shutdown()後面的代碼行。如何同步關閉WPF應用程序?
所以問題是如何阻止調用App.Current.Shutdown()的線程?
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
App.Current.Shutdown();
File.WriteAllText(@"..\log.txt", "Info");
}
}
private void App_OnExit(object sender, ExitEventArgs e) {
Thread.Sleep(3500);
}
File.WriteAll將創建一個新文件並寫入它的「信息」字符串。
應始終從主線程調用Shutdown方法。我猜'關機「應該凍結主線程。你看到不同的行爲?你可以展示你的代碼,並告訴我們更多你想達到什麼目的? – outcoldman 2013-04-29 07:31:28