Как запретить определенным ячейкам изменять размер строки или столбца - PullRequest
3 голосов
/ 30 марта 2019

Я создаю 2x2 сетку в XAML.Вверху слева находится групповая коробка.В правом верхнем углу находится список с видимой полосой прокрутки.Внизу - групповая коробка двойной ширины.Поскольку элементы добавляются в верхний правый список, я не хочу изменять размер строки.Вместо этого я хочу, чтобы полоса прокрутки стала активной.Однако, поскольку в верхнем левом окне группы добавлены элементы, я действительно хочу изменить размер строки, чтобы она соответствовала содержанию.

Я попытался поиграть с определениями строк и 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 Ответ

2 голосов
/ 30 марта 2019

Попробуйте это.

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