私のWPFアプリケーションには、フルスクリーンの MainWindowがあります。メインウィンドウから、ユーザーはプレビューウィンドウを開くことができます。PreviewWindowはモーダルウィンドウであるため、MainWindowの上にあります。ここまでは順調ですね。
それでも、プレビューウィンドウが開いている間、ユーザーはWindowsタスクバーからメインウィンドウを選択できます。次に、PreviewWindowはMainWindowの下に非表示になりますが、 PreviewWindowがまだ唯一のアクティブなウィンドウであるため、MainWindowは無効になります。ユーザーにとっては、アプリケーションが応答しなくなったように見えます。
ユーザーがそのように動作する理由はわかりませんが、ユーザーは動作し、多くの混乱を引き起こします。
私たちの最初の解決策は、PreviewWindowを一番上にすることでしたが、それはあまり役に立ちませんでした。プレビューウィンドウから、ユーザーはSaveDialogを開くことができます。ただし、PreviewWindowが一番上にある場合、SaveDialogはPreviewWindowの下に非表示になります。
私の考えは、ユーザーがSaveDialogを開くまで、PreviewWindowを一番上にすることです。そして、SaveDialogが終了した後、再び最上位にします。
これがそれを行う唯一の方法ですか?親ウィンドウが選択されたときにモーダルウィンドウをトップに戻す方法はありますか?