设置Avalon对接中面板的初始高度

本文关键字:高度 Avalon 设置 | 更新日期: 2023-09-27 18:28:13

我以这种方式在代码中创建面板:

DockableContent dockableContent = CreateDockableContent<TView>(model);
dockableContent.Show(_dockingManager, AnchorStyle.Bottom);

如何指定该嵌板的初始高度?以下不起作用:

dockableContent.Height = 400;

ResizingPanel.SetResizeHeight(dockableContent, new GridLength(400));

设置Avalon对接中面板的初始高度

对于具有固定高度的面板,设置DockMinHeight="120"和DockHeight="1*"。对于其他面板,请将DockHeight设置为"90*"。

在这种情况下,具有固定高度的面板将变得很短,因此将使用DockMinHeight。

对于Avalon Dock 2.0,有一些内部代码会自动将DockWidth/DockHeight调整为星形大小。这将阻止您在垂直/水平组窗格中使用固定/初始高度/宽度面板。

目前我能看到的唯一解决方案是从AvalonDock源代码中注释掉这种行为。即在LayoutAnchorablePaneGroupControl 类的OnFixChildrenDockLengths

希望这能有所帮助。

Nagg,

设置面板的高度只会影响其浮动时的外观。当它停靠时,它会受到"调整大小"面板的限制(看起来像是您自己想出来的)。

调整面板大小是在AvalonDock库中使用默认大小创建的。

您可能想了解AvalonDock的2.0版本,它在自定义面板方面提供了更大的灵活性,尤其是因为它们可以绑定到ViewModel,在那里您可以更改它们的外观。

如果你仍然想使用1.3,那么你必须修改AvalonDock源代码,让它做你想做的事情(例如,添加默认的面板高度)。

Steve