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
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.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code