Laden...

Status eines WPF Fensters über WindowSate checken

Erstellt von markusD80 vor 9 Jahren Letzter Beitrag vor 9 Jahren 920 Views
M
markusD80 Themenstarter:in
1 Beiträge seit 2015
vor 9 Jahren
Status eines WPF Fensters über WindowSate checken

Hallo Forum,

ich hätte da folgendes Problemchen und bitte um Hilfe:

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	1	"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 z.B auf "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

16.842 Beiträge seit 2008
vor 9 Jahren
switch (WindowState)
            {
                case (WindowState.Maximized):
                    {

WindowState ist ein Enum, das Du in Zeile 3 auch so verwendest.
Das Switch in Zeile 1 will eine Variable. Du gibst ihm hier aber nur den Typ WindowState und eben keine Variable.
Es muss this.WindowState heissen, sonst weiß der Compiler nicht, was Du meinst.

Das gleiche gilt für die anderen Fälle.