Pergunta
Saudações,
Eu gostaria de ter a janela infantil ancorada ao lado da janela dos meus pais. Se eu mover a janela dos pais, a janela do filho também deve ser movida. A imagem abaixo deve explicar o que eu gostaria de alcançar:
http://img689.imageshack.us/img689/1305/childdockedwindow.jpg
Alguém pode me ajudar, por favor. Estou escrevendo no WPF. Alguém tem uma idéia de como fazer isso?
Solução
Lidar com o Window.LocationChanged
eventos e Window.SizeChanged
Eventos na janela principal. Quando qualquer um desses eventos disparar, calcule o novo local para a janela infantil.
Aqui está a ideia:
var mainWindow = ...;
var childWindow = ...;
var handler = new EventHandler(() =>
{
childWindow.Top = mainWindow.Top;
childWindow.Left = mainWindow.Left + mainWindow.Width;
});
mainWindow.LocationChanged += handler;
mainWindow.SizeChanged += handler;
Você também pode precisar de código que remova handler
Dos dois eventos, quando a janela da criança não precisa mais ser atracada ou não é mais shon.