如何禁止某些单元格调整行或列的大小

时间:2019-03-30 02:09:29

标签: c# wpf xaml resize grid-layout

我正在XAML中创建2x2网格布局。左上方是一个分组框。右上方是一个列表框,带有可见的滚动条。底部是一个全角分组框。将项目添加到右上角的列表框中时,我不希望调整行的大小。相反,我希望启用滚动条。但是,由于左上方的分组框已添加项目,因此我确实希望调整行的大小以适合内容。

我尝试过使用行定义和gridsplitter,但似乎并没有任何效果。

<Grid>
   <Grid.ColumnDefinitions>
      <ColumnDefinition Width="auto"/>
      <ColumnDefinition Width="*"/>
   </Grid.ColumnDefinitions>
   <Grid.RowDefinitions>
      <RowDefinition Height="auto"/>
      <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    <GroupBox x:Name="TopLeftGroupBox"/>
    <ListBox x:Name="TopRightListBox" Grid.Column="1" ScrollViewer.VerticalScrollBarVisibility="Visible"/>
    <GroupBox x:Name="BottomGroupBox" Grid.Row="1" Grid.ColumnSpan="2"/>
</Grid>

当前,随着将项目添加到右上方的列表框中,第0行的高度增加,并且右上方的滚动条保持禁用状态。我只希望左上方的分组框能够调整行高的大小。由于左上方的列表框需要更多空间,因此应启用滚动条,而不要调整其大小。

如果您对如何锁定单元格的大小不满意,请告诉我。

谢谢。

1 个答案:

答案 0 :(得分:2)

尝试一下。

<ListBox x:Name="TopRightListBox" Grid.Column="1" ScrollViewer.VerticalScrollBarVisibility="Visible"
                 Height="{Binding ElementName=TopLeftGroupBox, Path=ActualHeight}"/>