WPF 使用分隔符调整 GUI 部分的大小

WPF resize portion of GUI with seperator

我正在创建一个 WPF GUI,我想要一个可以手动调整宽度的部分,类似于大多数 IDE 具有可以调整大小的资源管理器和工具箱的方式。

目前我正在使用 DockPane,我的项目看起来类似于下图。我将如何着手包括一些可选择的分隔符,这些分隔符可以改变我的 DockPanel 的一个部分的宽度。他们的 WPF XAML 组件(例如分隔符)是否已经能够做到这一点?

Grid 和 GridSplitter - Grid Splitter 上的调整大小行为和对齐延伸是小陷阱,因此值得举个例子:

<Window x:Class="GridSplitSpike.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>

    <ContentControl Name="LeftHandArea" Grid.Column="0" MinWidth="100"/>

    <GridSplitter Grid.Column="1" ResizeBehavior="PreviousAndNext" VerticalAlignment="Stretch" Width="4" />

    <DockPanel Grid.Column="2"/>
</Grid>
</Window>

我应该指出,ContentControl 仅代表您的左侧视图。这将不再是 DockPanel 的一部分。