如何:创建GridSplitter,自定义DockPanel(C#,WPF)的大小

如何:创建GridSplitter,自定义DockPanel(C#,WPF)的大小,c#,wpf,dockpanel,C#,Wpf,Dockpanel,如何:创建一个GridSplitter,用于自定义DockPanel(C#,WPF)的大小。 这是我的GridSplitter代码,但不幸的是它不起作用:我不允许更改网格的大小。我可以看到GridSplitter,但我不能使用它 <DockPanel DockPanel.Dock="Left" Name="dockPanel_1" Width="200"> <StackPanel /> <DockPanel /> </DockPanel&

如何:创建一个GridSplitter,用于自定义DockPanel(C#,WPF)的大小。

这是我的
GridSplitter
代码,但不幸的是它不起作用:我不允许更改
网格的大小。我可以看到
GridSplitter
,但我不能使用它

<DockPanel DockPanel.Dock="Left" Name="dockPanel_1" Width="200">
    <StackPanel />
    <DockPanel />
</DockPanel>
<Grid>
    <GridSplitter ShowsPreview="True" Width="5" HorizontalAlignment="Right" VerticalAlignment="Stretch" />
</Grid>
<DockPanel DockPanel.Dock="Right" Name="dockPanel_2">
    <StackPanel />
    <DockPanel />
</DockPanel>

PS:如果你知道如何保存更改后的大小,以便在重新启动应用程序时其大小相同,只需添加到你的帖子中即可


提前感谢。

如果您希望能够调整列/行的大小,则可以使用
Grid
来代替
DockPanel



谢谢您的帮助。这就是我要找的。我已经编辑了我的帖子,请看上面。我仍然有问题。检查我更新的示例。基本上,您需要调整列/行的大小,并且您的
网格
是空的,从
网格拆分器
开始,所以将外部
DockPanel
替换为
网格
(如我的示例中所示),并将内部
DockPanel
作为
网格的两列。布局应该保持不变,但您应该能够调整左/右列的大小谢谢,dkozl。有一个小问题:
GridSplitter
Width=“5”
-->一起使用,不幸的是,它位于左侧
DockPanel
的顶部。这“杀死”了
DockPanel
的一部分宽度。因此,将
DockPanel
上的
Margin
设置为类似
Margin=“0,0,5,0”
的值就可以了!完美的谢谢。为了保存GridSplitters的大小布局,请看这个。QA:看看这个解决方案
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="200"/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>
    <DockPanel Name="dockPanel_1">
        <StackPanel />
        <DockPanel />
    </DockPanel>
    <GridSplitter Width="5" HorizontalAlignment="Right" VerticalAlignment="Stretch" ResizeBehavior="CurrentAndNext"/>
    <DockPanel Grid.Column="1" Name="dockPanel_2">
        <StackPanel />
        <DockPanel />
    </DockPanel>
</Grid>