如何将 TreeView 添加到 AvalonDock?

How to add TreeView to AvalonDock?

我正在使用完美的库 AvalonDock 并且想在停靠布局中显示 TreeView。所以我的 TreeView 应该是可停靠的。

我不知道应该如何将 TreeView 添加到 AvalonDock。例如,我有标准布局。

我试过这种旧方法,但是这段代码不起作用,因为我使用的是 AvalonDock 2.0,而且没有 ResizingPanelDockableContent:

<avalonDock:ResizingPanel Orientation="Horizontal">
        <avalonDock:DockablePane>
            <avalonDock:DockableContent x:Name="fileFrame" Title="File List">
                <TreeView Name="fileTree"/>                        
            </avalonDock:DockableContent>
            <avalonDock:DockableContent x:Name="viewFrame" Title="View List">
                <TreeView Name="viewTree"/>
            </avalonDock:DockableContent>
        </avalonDock:DockablePane>
  </avalonDock:ResizingPanel>

我的目标是在程序开始时将 TreeView 放在左侧,如 Visual Studio:

如何将 TreeView 添加到 AvalonDock 以在 MainWindow 启动时看到 TreeView?

编辑:

现在我可以在 Visual Studio 中看到 TreeView:

但是启动程序中没有TreeView(只是黄屏):

如何在程序开始时像 Visual Studio 一样在左侧显示带有虚拟数据的 TreeView?

您不能将控件直接添加到 LayoutAnchorablePane - 您必须将其包装在 LayoutAnchorable:

<avalonDock:DockingManager x:Name="dockManager" >
    <avalonDock:LayoutRoot>
        <avalonDock:LayoutPanel Orientation="Vertical">
            <avalonDock:LayoutDocumentPane/>
            <avalonDock:LayoutAnchorablePane Name="ToolsPane" DockHeight="150">
                <avalonDock:LayoutAnchorable>
                    <TreeView Name="viewTree"/>
                </avalonDock:LayoutAnchorable>
            </avalonDock:LayoutAnchorablePane>
        </avalonDock:LayoutPanel>
    </avalonDock:LayoutRoot>
</avalonDock:DockingManager>

编辑:

如果您希望在左侧显示树视图,请在此处查看带有一些虚拟数据的代码段:

<avalonDock:DockingManager x:Name="dockManager">
    <avalonDock:LayoutRoot>
        <avalonDock:LayoutPanel Orientation="Horizontal">
            <avalonDock:LayoutAnchorablePane Name="ToolsPane" DockWidth="150">
                <avalonDock:LayoutAnchorable>
                    <TreeView Name="viewTree">
                        <TreeViewItem Header="North America">
                            <TreeViewItem Header="USA" />
                            <TreeViewItem Header="Canada" />
                            <TreeViewItem Header="Mexico" />
                        </TreeViewItem>
                        <TreeViewItem Header="South America">
                            <TreeViewItem Header="Argentina" />
                            <TreeViewItem Header="Brazil" />
                            <TreeViewItem Header="Uruguay" />
                        </TreeViewItem>
                    </TreeView>
                </avalonDock:LayoutAnchorable>
            </avalonDock:LayoutAnchorablePane>
            <avalonDock:LayoutDocumentPane />
        </avalonDock:LayoutPanel>
    </avalonDock:LayoutRoot>
</avalonDock:DockingManager>