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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top