2016-05-02 12 views
0

Ich habe einige Beiträge auf Stackoverflow und einige Diskussion abgeschlossen, da es keine Möglichkeit gibt, dies zu tun, wie es Standardverhalten von WPF modalen Fenster ist.C# WPF) Wie minimiert man ein Elternfenster, nachdem das Kindmodalfenster von showdialog() angezeigt wird?

Gibt es nicht wirklich eine Lösung, um das übergeordnete Fenster von einem modalen untergeordneten Fenster zu minimieren (zu steuern)?

Wer hat gehackt oder kennt eine Rundreise?

Ihre ausgezeichneten Ideen werden immer sehr geschätzt.

Vielen Dank!

+1

Haben Sie versucht, einen Verweis auf das übergeordnete Dialogfeld und "parent.WindowState = WindowState.Minimized" zu übergeben? –

+0

Sehr geehrter Kaiser, vielen Dank für Ihre wertvolle Zeit und Kommentar! –

Antwort

2

Sie können die Referenz Ihres Fensters über die Anwendungsfenster-Sammlung erhalten. Dies ist ein Beispiel für das Hauptfenster minimiert wird, die in meinem Beispiel ist das übergeordnete Fenster:

private void button_Click(object sender, RoutedEventArgs e) 
    { 
     foreach (Window win in Application.Current.Windows.OfType<MainWindow>()) 
     { 
      var mainWin = ((MainWindow)win); 
      mainWin.WindowState = mainWin.WindowState == WindowState.Minimized ? WindowState.Normal : WindowState.Minimized; 
     } 
    } 

Sie können das Fenster Zustand nur auf ein Minimum reduziert.

Wenn Sie das Fenster loswerden wollen, verwenden Sie einfach .Hide(); und zeigen Sie es agian .Show(); an.

+0

In diesem Szenario, sobald das übergeordnete Fenster minimiert ist, kann es nicht wiederhergestellt werden –

+0

Wenn Sie '.Hide() verwenden;' => Ja, aber es kann erneut in Closed-Ereignis über '.Show();' angezeigt werden. Deshalb habe ich geschrieben, dass Sie WindowState verwenden können. Damit ist es nicht weg. –

+0

Ja, ich verstehe. Ich habe Ihre Antwort geuploadet :) –