У меня есть это довольно простое окно с сеткой, содержащей два столбца, TextBlock и TextBox.Как настроить панель WPF Grid таким образом?
Что мне нужно, чтобы установить столбец 0 автоматически размер его содержание и иметь столбец 1 (содержание), чтобы быть в 4 раза размер столбца 0.
Как я могу сделай это. Я создам потомок Grid, если это решение, потому что мне действительно нужна эта функция.
Редактировать: Другие пояснения. Содержимое столбца 0 не будет меняться во время выполнения, поэтому размер столбца 0 или столбца 1 не должен изменяться во время выполнения. Сетка будет дочерним элементом окна, настроенного с SizeToContent="WidthAndHeight"
, поэтому дополнительное пространство не должно существовать.
Ответ на Дмитрия: Я попробовал то, что вы говорите со следующим кодом, и она не работает вообще:
<Window x:Class="UnderstandSizing.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1"
SizeToContent="WidthAndHeight" >
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width=".25*" />
<ColumnDefinition Width=".75*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Text="THIS IS THE LABEL:" />
<TextBox Grid.Column="1" Text="content" />
</Grid>
</Window>
Последнее редактирование: Почему, черт возьми, я (или кто) это нужно?
Одна из приятных вещей WPF - это его способность работать без фиксированных размеров? Если вы нарушены, и у вас больше размер шрифта, все будет выглядеть нормально. Если вы переводите свой пользовательский интерфейс на другой язык, для которого требуется размер x2, все будет выглядеть нормально. Если у вас разные настройки PPI, все будет выглядеть нормально.
Но я не хочу видеть, как экраны меняют свой размер во время выполнения, потому что пользователи к этому не привыкли. Вот почему я хочу установить размер полей ввода кратным знакомую. Если я дам ячейке ярлыка размеру до того, что ей нужно, а затем я установил ячейку содержимого в множитель метки, я получу преимущества автосогласования с поведением, которое пользователи ожидают наличия экранов с фиксированным размером (если они не изменят его размер Это).
вы хотите внешнего размер сетки, чтобы расширить ли, когда размер увеличивается содержание столбца 1? Или у вас есть заданное пространство, внутри которого должна оставаться сетка? Или ширина столбца 1 постоянна и известна во время компиляции? –
Один вопрос: если вы хотите, чтобы столбец 1 в четыре раза превышал размер столбца 0, что происходит с оставшимся пространством? Или, что вам нужно, если ширина столбца 0 + 4 раза ширина столбца 0 превышает доступное пространство? – dowhilefor
Пробовал ли вы использовать проценты - http://www.tanguay.info/web/index.php?pg=codeExamples&id=36 –