关于c#:如何禁止某些单元格调整行或列的大小

How to prohibit certain cells from resizing row or column

我正在 XAML 中创建 2x2 网格布局。左上角是一个组框。右上角是一个列表框,带有可见的滚动条。底部是一个双宽组合框。由于项目被添加到右上角的列表框中,我不希望该行调整大小。相反,我希望启用滚动条。但是,由于左上角的组框添加了项目,我希望该行调整大小以适应内容。

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

1
2
3
4
5
6
7
8
9
10
11
12
13
<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
2
<ListBox x:Name="TopRightListBox" Grid.Column="1" ScrollViewer.VerticalScrollBarVisibility="Visible"
                 Height="{Binding ElementName=TopLeftGroupBox, Path=ActualHeight}"/>