在Avalon底座中设置面板的初始高度

时间:2012-03-16 15:15:51

标签: c# .net wpf avalondock

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

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

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

dockableContent.Height = 400;

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

3 个答案:

答案 0 :(得分:5)

对于固定高度设置的面板,设置DockMinHeight =“120”,DockHeight =“1 *”。对于其他面板集DockHeight =“90 *”。

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

答案 1 :(得分:3)

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

我能看到的唯一解决方法是从AvalonDock源代码中注释掉这种行为。即;在课程OnFixChildrenDockLengths的{​​{1}}中

希望这会有所帮助。

答案 2 :(得分:1)

Nagg,

设置面板的高度仅影响浮动时的外观。当它停靠时,它受到“调整大小”面板的限制(看起来就像你自己想的那样)。

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

您可能希望查看AvalonDock的2.0版本 - 它可以更灵活地自定义Panel - 特别是因为它们可以绑定到ViewModel,您可以在其中更改其外观。

如果您仍想使用1.3,那么您必须修改AvalonDock源代码以使其执行您想要的操作(例如,添加默认面板高度)。

史蒂夫