Некоторые элементы управления WPF (например, Button
), похоже, с удовольствием занимают все доступное пространство в своем контейнере, если вы не укажете высоту, которую он должен иметь.
А некоторые, вроде тех, которые мне нужно использовать прямо сейчас, (многострочные) TextBox
и ListBox
, кажется, больше беспокоятся о том, чтобы просто занять пространство, необходимое для их содержимого, и не более того.
Если вы поместите этих парней в ячейку в UniformGrid
, они увеличатся до размера доступного места. Однако UniformGrid
экземпляры подходят не для всех ситуаций. Что делать, если у вас есть сетка с некоторыми строками, установленными на * высоту, чтобы разделить высоту между собой и другими * строками? Что, если у вас есть StackPanel
, а есть Label
, List
и Button
, как вы можете заставить список занимать все пространство, не занятое этикеткой и кнопкой?
Я бы подумал, что это действительно будет базовое требование к макету, но я не могу понять, как заставить их заполнить пространство, которое они могли бы (поместить их в DockPanel
и настроить его для заполнения также не работает, кажется, поскольку DockPanel
занимает только пространство, необходимое его субэлементам управления).
Изменяемый размер графического интерфейса был бы ужасен, если бы вам пришлось играть с Height
, Width
, MinHeight
, MinWidth
и т. Д.
Можете ли вы привязать свои свойства Height
и Width
к занимаемой вами ячейке сетки? Или есть другой способ сделать это?