儿童停靠窗口

时间:2010-02-11 20:44:08

标签: wpf window dock

问候,

我想将子窗口停靠在父窗口旁边。如果我移动父窗口,也应该移动子窗口。下面的图片应该解释我想要实现的目标:
http://img689.imageshack.us/img689/1305/childdockedwindow.jpg
有谁可以帮助我吗。我正在用WPF写作。有没有人知道如何做到这一点?

1 个答案:

答案 0 :(得分:1)

处理主窗口上的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的代码。