Status eines WPF Fensters über WindowSate checken



  • Hallo Forum,

    ich hätte da folgendes Problemchen und bitte um mithilfe bei der Fehlersuche:

    switch (WindowState)
                {
                    case (WindowState.Maximized):
                        {
                            WindowState = WindowState.Normal;
                            break;
                        }
                    case (WindowState.Normal):
                        {
                            WindowState = WindowState.Maximized;
                            break;
                        }
                }
    

    Eigentlich möchte ich nur vor dem schliesen meiner Anwendung die Fensterposition und den Fensterstatus speichern. Um den Status zu sichern will ich den oben abgebildeten Codeausschnitt benutzen. Jedoch meckert der Compiler, dass "WindowState" falsch verwendet wird:

    Fehler: "System.Windows.WindowState" ist ein(e) "Typ", wird aber wie ein(e) "Variable" verwendet. \\......\coding\C#\Hypotrochoid\Hypotrochoid\WindowPosition.cs	31	17	Hypotrochoid
    

    Leider verstehe ich den Grund der Meldung gerade nicht, weil ich selbiges schon öfters auf diese weise gelöst habe. Auch auf z.B "StackOverflow.com" und weiteren finden sich Artikel, in dem ähnliche Probleme auf diese Art gelöst werden:

    private void Window_MouseDoubleClick(object sender, MouseButtonEventArgs e)
    {
        if (e.ChangedButton == MouseButton.Left)
        {
            switch (WindowState)
            {
                case (WindowState.Maximized):
                {
                    ResizeMode = ResizeMode.CanResize; 
                    WindowStyle = WindowStyle.SingleBorderWindow;
                    WindowState = WindowState.Normal;
                    break;
                }
                case (WindowState.Normal):
                {
                    ResizeMode = ResizeMode.NoResize;
                    WindowStyle = WindowStyle.None;
                    WindowState = WindowState.Maximized;
                    break;
                }
            }
        }
    }
    

    Weiß jemand Abhilfe!? Ich steh gerade echt aufm Schlauch!

    Grüße

    Ps: Verwendet wird Visual Studio 2012 Professional & .NET Framework 4.5. Verweis "System.Windows" und Namespace über using sind korrekt eingebunden



  • Das ist vermutlich, weil das Property gleich heisst wie der Datentyp. Also Sachen wie WindowState = WindowState.Normal mag der Compiler eventuell nicht. Probier mal, den Namespace auszuschreiben: WindowState = System.Windows.WindowState.Normal;


Anmelden zum Antworten