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