带有 AvalonDock 对接布局系统的 Wpf 应用程序

Wpf app with AvalonDock docking layout system

我正在 .net5 中创建一个小的 wpf 程序。它应该有一个标签系统和一个侧边栏。 Dirkster.AvalonDock 库 github 适合我的目的。安装版本 4.60.0。我刚刚开始了解这个图书馆。侧边栏出现了困难。 LayoutAnchorablePane 负责其输出。但是结果不是我所期望的。
我需要得到这样的东西
img1
现在有
img2
查看代码:

    <Window x:Class="TestApp.Views.MainWindowView"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:vm="clr-namespace:TestApp.ViewModels"
    xmlns:cm="http://www.caliburnproject.org"
    mc:Ignorable="d"
    Width="800" Height="450"
    Title="MainWindow">
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="Auto"/>
    </Grid.ColumnDefinitions>
    <DockingManager x:Name="DockManager" Grid.Column="0"
                DocumentsSource="{Binding Items}"
                AnchorablesSource="{Binding MenuItems}"
                >
        <DockingManager.LayoutItemTemplate>
            <DataTemplate>
                <ContentControl cm:View.Model="{Binding Content}" IsTabStop="False" />
            </DataTemplate>
        </DockingManager.LayoutItemTemplate>
        <DockingManager.LayoutItemContainerStyle>
            <Style TargetType="{x:Type LayoutItem}">
                <Setter Property="Title" Value="{Binding Model.DisplayName, Mode=OneWay}"/>
                <Setter Property="CloseCommand" Value="{Binding Model.CloseCommand}"/>
            </Style>
        </DockingManager.LayoutItemContainerStyle>
        <LayoutRoot>
            <LayoutPanel>
                <LayoutDocumentPaneGroup>
                    <LayoutDocumentPane />
                </LayoutDocumentPaneGroup>
                <LayoutAnchorablePaneGroup>
                    <LayoutAnchorablePane DockMinWidth="300" />
                </LayoutAnchorablePaneGroup>
            </LayoutPanel>
        </LayoutRoot>
    </DockingManager>
</Grid>

我认为视图模型代码并不重要。项目中还安装了caliburn.micro
请告诉我如何获得第一张图片中的侧边栏。

你必须安装 VS2013 主题包 (link) 然后像下面这样使用精简版:

<DockingManager.Theme> 
    <Vs2013LightTheme /> 
</DockingManager.Theme>