0
従来のスプラッシュ画面を使用する代わりに、ログインウィンドウを表示して、ユーザーが資格情報を入力できるようにする必要があります。一方、バックグラウンドで、私は、アプリケーションを初期化し、メインウィンドウをロードしたい。問題は、一度表示されたメインウィンドウでログインウィンドウが隠されていることです。WPFウィンドウを別のウィンドウの上に置くにはどうすればよいですか?
private void App_OnStartup(object sender, StartupEventArgs e)
{
Current.MainWindow = new LoginWindow();
Current.MainWindow.Show();
Task.Run(() => { /*do app startup background stuff*/ }).ContinueWith(t =>
{
var appWindow = new ApplicationWindow();
appWindow.Show();
Current.MainWindow.Owner = appWindow;
}, TaskScheduler.FromCurrentSynchronizationContext());
ログインウィンドウは最初からメインウィンドウになります。私の前提は、ApplicationWindowの所有者をログインウィンドウに設定することによって、ログインウィンドウが一番上にとどまるということでした。私が間違っているなら、私が望むものを達成する方法はありますか?一番上のフラグは機能しますが、ウィンドウは最上位です。これは望ましくありません。
ありがとうございます。私の問題は、必要なパラメータでMainWindowを構築したいと考えていたことです。また、私はオーナーのことをもう少し理解することを望んでいました。結局のところ、あなたのソリューションは最高かもしれません。 – Dan
私を地球に戻してくれてありがとう。私がエンジニアにしようとしていたのは、やり直しの方法でした。 – Dan