1

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

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

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

dockableContent.Height = 400;

或者

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

3 回答 3

5

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

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

于 2015-02-17T14:02:47.820 回答
3

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

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

希望这可以帮助。

于 2013-09-19T09:04:08.657 回答
1

纳格,

设置面板的高度仅影响其浮动时的外观。当它停靠时,它受 Resizing 面板的限制(看起来你自己想出来了)。

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

您可能想查看 AvalonDock 的 2.0 版——它在自定义面板方面提供了更大的灵活性——尤其是因为它们可以绑定到一个 ViewModel ,您可以在其中更改它们的外观。

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

史蒂夫

于 2012-03-20T16:08:50.377 回答