Обработка событий Window.LocationChanged
и Window.SizeChanged
в главном окне. Когда происходит любое из этих событий, вычислите новое местоположение для дочернего окна.
Вот идея:
var mainWindow = ...;
var childWindow = ...;
var handler = new EventHandler(() =>
{
childWindow.Top = mainWindow.Top;
childWindow.Left = mainWindow.Left + mainWindow.Width;
});
mainWindow.LocationChanged += handler;
mainWindow.SizeChanged += handler;
Вам также может понадобиться код, который удаляет handler
из обоих событий, когда дочернее окно больше не нужно закреплять или больше не отображать.