疑似コードでは、メイン ウィンドウから独立して開閉できる多くの非モーダル サブウィンドウを使用して、これをメイン ウィンドウから実行しようとしています。(「設定」または「検索」と考えてください)
「OPEN WINDOW」を押し
た場合 STEP 1: ウィンドウが存在しない場合は、ウィンドウを作成します。
STEP2:ウィンドウができたので、前面に持ってきて見えるようにします。
(ステップ 2 は、ウィンドウが既に開いているときに OPEN WINDOW が押された場合の注意事項です。複数のインスタンスは必要ありません。前面に移動するだけです。)
「CLOSE WINDOW」を押し
た場合 STEP 3: ウィンドウを閉じる
ALT STEP 3: ウィンドウを隠す
これは私が試したコードです。窓を開けて、窓を開けたまま再度OPEN WINDOWを押せば手前に持ってくるところまできました。ただし、ウィンドウを閉じると、もう一度開くことはできません。ウィンドウを閉じると Window.Show() を使用できないというエラーが表示されます。
public static void OpenWindowOnce(Window windowToOpen)
{
foreach (Window n in Application.Current.Windows)
{
//Checks if the window is already open, and brings it to the front if it is
if (n.GetType() == windowToOpen.GetType())
{}
else
{ windowToOpen.Show(); }
}
windowToOpen.Activate();
}
コード/ロジックのどこが間違っていますか? ありがとう、私はコーディングにかなり慣れていないので、これを正しく行うために何週間も費やしました.