Search code examples
wpfwindowlocation

How to set the location of WPF window to the bottom right corner of desktop?


I want to show my window on top of the TaskBar's clock when the windows starts.

How can I find the bottom right corner location of my desktop?

I use this code that works well in windows forms app but does not work correctly in WPF:

var desktopWorkingArea = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea;
this.Left = desktopWorkingArea.Right - this.Width;
this.Top = desktopWorkingArea.Bottom - this.Height;

Solution

  • This code works for me in WPF both with Display 100% and 125%

     private void Window_Loaded(object sender, RoutedEventArgs e)
     {
        var desktopWorkingArea = System.Windows.SystemParameters.WorkArea;
        this.Left = desktopWorkingArea.Right - this.Width;
        this.Top = desktopWorkingArea.Bottom - this.Height;
     }
    

    In brief I use

    System.Windows.SystemParameters.WorkArea

    instead of

    System.Windows.Forms.Screen.PrimaryScreen.WorkingArea