儿童停靠窗口
Posted
技术标签:
【中文标题】儿童停靠窗口【英文标题】:Child docked window 【发布时间】:2010-02-11 20:44:07 【问题描述】:您好, 我想让子窗口停靠在我的父窗口旁边。如果我移动父窗口,子窗口也应该移动。下面的图片应该解释我想要实现的目标:http://img689.imageshack.us/img689/1305/childdockedwindow.jpg 有人能帮助我吗。我正在用WPF写作。有人知道如何做到这一点吗?
【问题讨论】:
【参考方案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
的代码。
【讨论】:
以上是关于儿童停靠窗口的主要内容,如果未能解决你的问题,请参考以下文章
WPF UserControl检测LostFocus忽略儿童