C# 如何通过编程向avalon dock添加更多窗格

C# 如何通过编程向avalon dock添加更多窗格,c#,avalondock,C#,Avalondock,我正在使用avalon dock v2,我所要做的就是让它在我按下按钮时为我的布局添加另一个窗格 这是我现有的窗格,但我不知道在按下按钮时添加另一个窗格的语法 avalonDock:DockingManager x:Name="dockingManager"> <avalonDock:LayoutRoot> <avalonDock:LayoutPanel Orientation="Horizontal

我正在使用avalon dock v2,我所要做的就是让它在我按下按钮时为我的布局添加另一个窗格

这是我现有的窗格,但我不知道在按下按钮时添加另一个窗格的语法

avalonDock:DockingManager x:Name="dockingManager">
                <avalonDock:LayoutRoot>
                    <avalonDock:LayoutPanel Orientation="Horizontal">
                        <avalonDock:LayoutDocumentPaneGroup >
                            <avalonDock:LayoutDocumentPane x:Name="mainDocumentPaneGroup">

                            </avalonDock:LayoutDocumentPane>
                        </avalonDock:LayoutDocumentPaneGroup>
                      </avalonDock:LayoutPanel>
                </avalonDock:LayoutRoot>
  </avalonDock:DockingManager>

我真的没有看到任何方法允许我将我初始化的窗格添加到我在xaml中初始化的组。

我不知道您是否仍然需要这个问题的答案,但我也需要它,并且在任何地方都找不到好的答案,所以我在这里证明它。您需要创建一个LayoutArchorable,将其内容设置为UserControl,然后调用LayoutArchorable上的AddToLayout方法以使其添加自身。在我的例子中,我希望新窗口以浮动方式启动,这样用户就可以决定将其放置在何处,但在它浮动之前,您仍然必须将其分配到某个位置

    LayoutAnchorable la = new LayoutAnchorable { Title = "New Window", FloatingHeight = 400, FloatingWidth = 500, Content = new YourUserControl() };
    la.AddToLayout(dockingManager, AnchorableShowStrategy.Right);
    la.Float();

在本例中,我在XAML中命名了DockingManager,以便可以从代码隐藏中访问它。

我建议添加一些代码,并解释您面临的问题。我为现有窗格添加了代码,并试图在按下按钮时了解如何添加到该窗格中。问题是我甚至不知道从哪里开始。谢谢,我仍然在使用avalon dock,因为它非常容易使用,并且仍然满足我的大部分需求。我永远不知道该怎么做,所以我真的很感激。
    LayoutAnchorable la = new LayoutAnchorable { Title = "New Window", FloatingHeight = 400, FloatingWidth = 500, Content = new YourUserControl() };
    la.AddToLayout(dockingManager, AnchorableShowStrategy.Right);
    la.Float();