调整 WPF 棱镜区域的大小



在 WPF Prism 应用中,我在两个单独的区域中有两个单独的视图,例如 LeftRegion 和 RightRegion。我希望能够像网格拆分器一样拖动 LeftRegion 的边缘(即 LeftRegion 中的视图(。关于如何实现这一目标的任何想法?谢谢。

编辑:这是引导程序调用的ShellView.xaml.cs它定义了区域。

<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>

由于棱镜区域只不过是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>

最新更新