私はWPFアプリケーションを持っていますが、スタートアップの一部として、ユーザーから情報を取得するためにモーダルウィンドウを表示する必要があります。App.xaml.cs_ApplicationStartup内からウィンドウを作成して表示します。ウィンドウの[OK]ボタンで、Close()メソッドを呼び出します。情報を取得したら、メインのアプリケーションウィンドウを表示したいと思います。ただし、メインアプリケーションウィンドウはすぐにWindowClosingイベントを受信し、終了します。App.xamlコード:
private void ApplicationStartup(object sender, StartupEventArgs e)
{
if (Settings.Default.AskForLoginCredentials)
{
var loginWindow = new LoginCredentialsWindow();
bool? retVal = loginWindow.ShowDialog();
if (retVal.HasValue && retVal.Value)
{
string un = loginWindow.UserName;
string pw = loginWindow.Password;
}
else
{
_logger.Info("Credential request prompt was refused. Exiting Application.");
return;
}
}
MainAppWindow window = new MainAppWindow();
window.Show();
}
ここで何が起きてるの?