C# 包含GridSplitter-s的网格内的边框与以下所有行重叠

C# 包含GridSplitter-s的网格内的边框与以下所有行重叠,c#,wpf,xaml,wpf-controls,C#,Wpf,Xaml,Wpf Controls,使用WPF,我试图创建一个网格,其中包含一个列表视图,然后是一些带有详细信息的控制器,然后是一个带有单个按钮的行。这是我试过的 <Grid DataContext="..."> <Grid.RowDefinitions> <RowDefinition Height="177" MinHeight="177"/> <RowDefinition Height="Auto"/> <RowDef

使用WPF,我试图创建一个网格,其中包含一个列表视图,然后是一些带有详细信息的控制器,然后是一个带有单个按钮的行。这是我试过的

<Grid DataContext="...">
    <Grid.RowDefinitions>
        <RowDefinition Height="177" MinHeight="177"/>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    <ListView Grid.Row="0"  BorderBrush="LightGray" BorderThickness="1,1,1,0">
        <ListView.View>
            <GridView x:Name="SomeName"/>
        </ListView.View>
    </ListView>
    <GridSplitter Grid.Row="1" Height="5" HorizontalAlignment="Stretch" ResizeDirection="Rows" BorderBrush="LightGray" BorderThickness="1,0,1,0"/>
    <Border Grid.Row="2" Grid.RowSpan="1" BorderBrush="LightGray" BorderThickness="1,0,1,1" Height="Auto" Padding="1">
        <ContentControl Grid.RowSpan="1" ContentTemplateSelector="{StaticResource someTemplateSelector}" Content="{Binding itemBinding, Mode=OneWay}" Height="Auto"/>
    </Border>
    <GridSplitter Grid.Row="3"  Height="5" HorizontalAlignment="Stretch" ResizeDirection="Rows" BorderBrush="LightGray" BorderThickness="1,0,1,0"/>
    <Button Grid.Row="4"  Grid.RowSpan="1" DockPanel.Dock="Right" Margin="3,0,0,0" Command="{Binding Click}" Width="28" Height="28" Padding="0" VerticalAlignment="Bottom">
        <Image Width="16" Height="16" Source="{StaticResource Heart}"/>
    </Button>
</Grid>

上面的XAML是功能性的,但是边框与下面的所有行重叠,包括第2行,而不是直接进入下一个
GridSplitter

大致上是这样的:


您有五行,但只有三行定义

添加所需的行定义:

<Grid.RowDefinitions>
    <RowDefinition Height="177" MinHeight="177"/>
    <RowDefinition Height="Auto"/>
    <RowDefinition Height="*"/>
    <RowDefinition Height="Auto"/>
    <RowDefinition Height="*"/>
</Grid.RowDefinitions>


而且布局应该是正确的。

这是完全有道理的,尽管对于所有的东西来说,我认为IDE实际上可以建议:)