Quando ho provato ad allineare la finestra con il lato o l'angolo del display, ho scoperto che ci sono alcuni tipi di padding tra il bordo dello schermo e il bordo della finestra. avevo creato nuovo progetto WPF da modello, aggiunto solo due righe in costruttore e ottenuto questo:WPF e Windows 10. Bordo invisibile attorno alle finestre?
Perché non si adattano al bordo dello schermo? Stesso problema quando cerco di mettere la finestra verso l'angolo in basso a destra in questo modo:
Rect workArea = SystemParameters.WorkArea;
Left = workArea.Location.X + workArea.Width - Width;
Top = workArea.Location.Y + workArea.Height - Height;
Sembra che la finestra ha 7px confine (proprio come su win7), ma invisibile sulla win10. Inoltre ho scoperto che se ho impostato sia WindowStyle
a WindowStyle.None
e ResizeMode
a ResizeMode.NoResize
, il sistema posiziona correttamente la finestra, ma questo non è quello che mi serve. In Win7 lo stesso programma funziona come previsto.
Di cource è possibile impostare la proprietà Left
su -7, ma non è una soluzione. Come posso impostare correttamente il posto della finestra, in modo che possa apparire bene sia su win7 che su win10?
In caso di fondo inferiore destro hai provato le proprietà ActualWidth & ActualHeight (dopo il display)? –
@KyloRen sì, il risultato è lo stesso – BlackOverlord
potrebbe essere "this.Left = 0 - SystemParameters.ResizeFrameVerticalBorderWidth - SystemParameters.FixedFrameVerticalBorderWidth;" può essere utilizzato dal punto di vista della programmazione sulla finestra 10. Altrimenti è necessario utilizzare la classe ChromeWindow. –