C# Xceed AvalonDock 3.2船坞宽度/高度不起作用

C# Xceed AvalonDock 3.2船坞宽度/高度不起作用,c#,wpf,avalondock,xceed,C#,Wpf,Avalondock,Xceed,我正在为我的雇主在应用程序中使用AvalonDock(Extended.Wpf.Toolkit,免费版本)。在layoutActualPane或LayoutDocumentPane中设置dockwith或DockHeight没有(可见)效果。相反,每个窗格相对于其同级窗格占用的空间量相等(它们默认为1*) 可以在运行时使用内置拆分器调整它们的大小,但这在编程或设计时并没有帮助。我使用了一些变通方法,例如: 将DockMinWidth/DockMaxWidth设置为 相同的值,但显然拆分器停止移

我正在为我的雇主在应用程序中使用AvalonDock(Extended.Wpf.Toolkit,免费版本)。在
layoutActualPane
LayoutDocumentPane
中设置
dockwith
DockHeight
没有(可见)效果。相反,每个窗格相对于其同级窗格占用的空间量相等(它们默认为1*)

可以在运行时使用内置拆分器调整它们的大小,但这在编程或设计时并没有帮助。我使用了一些变通方法,例如:

  • DockMinWidth
    /
    DockMaxWidth
    设置为 相同的值,但显然拆分器停止移动
  • 使用反射强制更改大小。这是相当脆弱的
这两个都是我想要避免的肮脏的黑客行为

我知道这在过去是用
完成的,但它早就被删除了。有关信息,请参阅

我还没有找到答案或源代码。 看我的

下面是一个演示问题的示例。

为我指明了正确的方向

问题确实是内部代码。以下内容修复了它:

  • 将标志添加到
    ILayoutPositionableElement.cs
    。我把它命名为
    ForceFixedDockSize
  • LayoutPositionableGroup.cs
    中实现它
  • onfixchildrendocklenghts
    的每个重写中,在设置
    DockWidth
    DockHeight
    之前检查标志是否为true
  • 我怀疑这种行为存在的原因是为了使默认布局看起来一致。此更改使该行为成为可选行为


    请参阅。

    我使用AvalonDock v3.7再次遇到此问题,此解决方案运行良好。非常感谢。我很惊讶关于这种行为的问题如此之少。