Вы можете использовать событие SizeChanged
окна вместо Loaded
, если хотите, чтобы окно оставалось в углу при изменении его размера.Это особенно удобно, если в окне Window.SizeToContent
установлено значение, отличное от SizeToContent.Manual
;в этом случае он будет соответствовать содержимому, оставаясь в углу.
public MyWindow()
{
SizeChanged += (o, e) =>
{
var r = SystemParameters.WorkArea;
Left = r.Right - ActualWidth;
Top = r.Bottom - ActualHeight;
};
InitializeComponent();
}
Обратите внимание, что вы должны вычесть ActualWidth
и ActualHeight
(вместо Width
и Height
, как показанов некоторых других ответах) для обработки более возможных ситуаций, например, переключения между режимами SizeToContent
во время выполнения.