我有一个 AvalonDock DockingManager 控件,其中包含一些子锚定对象(无文档)。如果这些 Anchorables 从主 DockingManager 浮动,我知道它们仍然是 DockingManager 逻辑树的一部分。
但是,我收到了一些用户的请求,希望通过“禁用”某些功能来使浮动窗口更加独立于主窗口:
- 当任何窗口(父窗口或子窗口)获得焦点时,所有窗口都会置于最前面
- 当父窗口最小化时,所有浮动子窗口也最小化。
我完全不知道如何解决这个问题,缺少编辑 AvalonDock 源代码(如果有选项,我宁愿不这样做)。
有办法做这两件事吗?
将浮动窗口的属性 Owner 设置为 null 以将其与其逻辑父级分离。
{
dockManager.LayoutUpdated += DockManager_OnLayoutUpdated;
}
private void DockManager_OnLayoutUpdated(object sender, EventArgs e)
{
foreach (var floatingWindow in dockManager.FloatingWindows)
{
if (floatingWindow.Owner != null)
{
floatingWindow.Owner = null;
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)