У меня есть окно, которое использует SizeToContent="WidthAndHeight"
, и у меня есть столбец с тремя строками в нем. Строки определяются как таковые:WPF Sizing Grid.Row к контенту
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
Содержимое составлено из одной другой панели сетки на указанную выше строку. Каждая из этих панелей содержит ярлык и ListBox. ListBox динамически добавляет или удаляет его содержимое. Таким образом, у него может быть один элемент, или он может содержать 100 элементов.
Моя проблема заключается в следующем: когда мое приложение начинается, три вышеупомянутые строки имеют размер, соответствующий содержанию внутри них. Так что это выглядит довольно аккуратно. Если первая строка содержит только один элемент в ListBox, размер будет достаточно, чтобы соответствовать этим элементам. Остальные две строки (если они переполнены содержимым) будут разделять оставшуюся часть пополам и отображать полосы прокрутки, если пользователь хочет видеть переполнения в каждом из них. Однако, как только я изменил размер главного окна, три строки сразу переопределят себя так, чтобы каждый из них был точно такой же высоты, независимо от количества содержимого в них.
Я попытался использовать Height="Auto"
в определениях строк внешней сетки; тем не менее, размер каждой строки точно соответствует содержанию, что приводит к тому, что они переполняются с экрана, даже не позволяя полосам прокрутки.
Я пробовал все настройки, о которых я знаю (ключ: знаю), и я не мог его решить. На данный момент я избавился от SizeToContent
, так что эта странная ошибка не произойдет, но строки пропорциональны друг другу, независимо от количества контента в них ... и мне бы хотелось, чтобы это было наоборот. Я не хочу статическую высоту для каждой из строк, а вместо того, чтобы их динамически изменять размер, основываясь на количестве контента в них, не выходя из экрана.
Есть ли способ исправить это?
Это фантастическая ссылка.Это очень похоже на то, что я пытаюсь выполнить. Он содержит все в пределах доступного пространства. Спасибо огромное! –