В моем сценарии конечный пользователь настраивает свой пользовательский интерфейс, разбивая его на строки и определяя правило высоты для этих строк (фиксированное, заполнить пространство, подогнать содержимое).Я реализую это с помощью WPF Grid.
Сетка начинает заполнять весь экран и не должна становиться больше - пользователь ДОЛЖЕН иметь возможность видеть всю сетку в любое время (полосы прокрутки WITHIN в порядке,но не полосы прокрутки для всей сетки).
Суть моей проблемы: когда пользователь создает одну или несколько строк с автоматическим размером, содержимое в этих строках может заставить размер всей сетки расширяться., добавляя полосы прокрутки, даже когда я установил максимальную высоту сетки на фиксированное число.
Становится хуже, когда задействован ряд размером со звезду, потому что, как только сетка немного растянется, этоСтрока размером со звездочку заполняет доступное пространство, поэтому сетка ПОСТОЯННО растягивается, даже если впоследствии строка автоматического размера уменьшается.
Мне нужно найти способ ограничить «автоматические» строки, чтобы они расширялись и сжимались какнеобходимо, НО общая фактическая высота всех строк никогда не превышает всю сетку.
Для иллюстрации у меня есть эта сетка с фиксированной максимальной высотой, и строки rПредставление всех режимов размера.
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="200"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<ScrollViewer VerticalScrollBarVisibility="Auto">
<TextBlock>
abc<LineBreak/>
abc<LineBreak/>
abc<LineBreak/>
abc<LineBreak/>
abc<LineBreak/>
</TextBlock>
</ScrollViewer>
В этом примере, когда текстовый блок abc расширяется, общая высота сетки выходит за пределы фиксированной.300 "максимальная высота.Как я могу предотвратить такое поведение, чтобы гарантировать максимальную высоту сетки при сохранении гибкости строк автоматического размера?