C# C# WPF - Taskbar beim Maximieren verstecken

pizzastueck

Cadet 4th Year
Registriert
Sep. 2018
Beiträge
126
Hallo zusammen,

ich möchte die Taskbar verstecken wenn ich das Programm maximiere.
Wenn das Programm startet, soll es als Vollbildanwendung starten. Mit den folgenden Eigenschaften geschiet des auch beim Start des Programms.
XML:
WindowState="Maximized"
WindowStyle="None"

Wenn ich allerdings das Window wieder zurück in eine normale Fensteranwendung holen und anschließend wieder maximieren will, bleibt die Taskbar sichtbar. Laut Google soll man die "ResizeMode" Eigentschaft auf "NoResize" stellen, aber das funktioniert bei mir nicht.
Hier der Code aus der Codebehind:

C#:
public MainWindow()
{
    InitializeComponent();

    StateChanged += MainWindow_StateChanged;
}

private void MainWindow_StateChanged(object sender, EventArgs e)
{
    var state = ((MainWindow)sender).WindowState;

    if(state == WindowState.Normal)
    {
        // When escaping
        ResizeMode = ResizeMode.CanResize;
        WindowStyle = WindowStyle.SingleBorderWindow;
    }
    else if(state == WindowState.Maximized)
    {
        // When maximizing
        ResizeMode = ResizeMode.NoResize;
        WindowStyle = WindowStyle.None;
    }
}

private void Window_KeyDown(object sender, KeyEventArgs e)
{
    if(e.Key == Key.Escape)
    {
        WindowState = WindowState.Normal;
    }
}

Meine Vermutung ist nun, dass der Klick auf das "Maximieren"-Symbol in der Titlebar zuerst ausgeführt wird und ResizeMode erst später. Dem entsprechend bleibt die Taskbar eingeblendet.

Habt ihr einen Tipp?
 
Wie wäre es mit dem Versuch das Fenster neu zu initialisieren wenn es in denn Vollbildmodus wechseln soll? Das sollte äquivalent zu dem Prozess beim Programmstart sein.
Ergänzung ()

Habe die Lösung gefunden:
C#:
else if (state == WindowState.Maximized)
{
    // When maximizing
    this.Visibility = Visibility.Collapsed;
    WindowStyle = WindowStyle.None;
    ResizeMode = ResizeMode.NoResize;
    this.Visibility = Visibility.Visible;
}
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: pizzastueck
Zurück
Oben