【发布时间】:2010-02-11 20:44:07
【问题描述】:
您好,
我想让子窗口停靠在我的父窗口旁边。如果我移动父窗口,子窗口也应该移动。下面的图片应该解释我想要实现的目标:
http://img689.imageshack.us/img689/1305/childdockedwindow.jpg
有人能帮助我吗。我正在用WPF写作。有人知道如何做到这一点吗?
【问题讨论】:
您好,
我想让子窗口停靠在我的父窗口旁边。如果我移动父窗口,子窗口也应该移动。下面的图片应该解释我想要实现的目标:
http://img689.imageshack.us/img689/1305/childdockedwindow.jpg
有人能帮助我吗。我正在用WPF写作。有人知道如何做到这一点吗?
【问题讨论】:
处理主窗口上的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 的代码。
【讨论】: