79523640

Date: 2025-03-20 17:06:34
Score: 1.5
Natty:
Report link
private void BtnMinimize(object sender, RoutedEventArgs args)
{
    if (UserWindow.AppWindow.Presenter is OverlappedPresenter presenter)
    {
        presenter.Minimize();
    }
}
private void BtnMaximize(object sender, RoutedEventArgs args)
{

    if (UserWindow.AppWindow.Presenter is OverlappedPresenter presenter)
    {
        if (presenter.State == OverlappedPresenterState.Restored)
        {
            presenter.Maximize();
            presenter.IsMaximizable = false;
    
            var workArea = DisplayArea.GetFromWindowId(userWindow.AppWindow.Id, DisplayAreaFallback.Primary).WorkArea;
            UserWindow.AppWindow.MoveAndResize(new Windows.Graphics.RectInt32(workArea.X, workArea.Y, workArea.Width, workArea.Height));
        }
        else
        {
            presenter.Restore();
            presenter.IsMaximizable = true;
        }
    }
}
private void BtnClose(object sender, RoutedEventArgs args)
{
    Application.Current.Exit();
    // YourWindow.Close() also does the same, but I recommend using Exit().
}

Don't forget to rename UserWindow to the name of your window.

I personally don't like my maximize method because it's too long. However, I don't know a shorter way to maximize the window without covering the taskbar. If anyone can post a better solution here, I would be grateful :)

Reasons:
  • RegEx Blacklisted phrase (2): I would be grateful
  • Long answer (-1):
  • Has code block (-0.5):
  • Low reputation (1):
Posted by: Pain Nncera