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은 새 파일을 만들고 "Info"문자열을 작성합니다.
'Shutdown' 메서드는 항상 Main Thread에서 호출되어야합니다. 그리고'Shutdown'은 메인 스레드를 멈춰야한다고 생각합니다. 다른 행동을하고 있습니까? 코드를 보여 주시고, 무엇을 성취하려고하십니까? – outcoldman