调整 WPF Prism 区域的大小

Resizing WPF Prism Regions

在 WPF Prism 应用程序中,我在两个不同的区域中有两个单独的视图,比如 LeftRegion 和 RightRegion。我希望能够像 gridsplitter 一样拖动 LeftRegion 的边缘(即 LeftRegion 中的视图)。关于如何实现这一目标的任何想法?谢谢。

编辑:这是由 bootstrapper.cs 调用的定义区域的 ShellView.xaml。

<Grid >
 <Grid.RowDefinitions>
 <RowDefinition Height ="*"/>
 </Grid.RowDefinitions>
 <Grid.ColumnDefinitions>
 <ColumnDefinition Width="215"/>
  <ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<ContentControl  Grid.Column ="0" Height ="500" prism:RegionManager.RegionName="LeftRegion" />
<GridSplitter Grid.Column ="0" Width="5" HorizontalAlignment="Right" VerticalAlignment="Stretch" ResizeBehavior="CurrentAndNext"/>
<ContentControl Grid.Column="1" Height ="400" prism:RegionManager.RegionName="RightRegion" />
</Grid>

由于 Prism 区域只是 UIElements,通常是 ContentPresenters,您应该能够像往常一样使用 GridSplitter

<Window x:Class="WpfApp1.MainWindow"
        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:local="clr-namespace:WpfApp2"
        prism:RegionManager.RegionName="LeftRegion"
        mc:Ignorable="d"
        Title="MainWindow" Height="300" Width="300">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="50" />
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>

        <ContentControl prism:RegionManager.RegionName="LeftRegion" />

        <GridSplitter Grid.Column="1" Width="5" HorizontalAlignment="Stretch" />

        <ContentControl Grid.Column="2" prism:RegionManager.RegionName="RightRegion" />
    </Grid>
</Window>