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