У меня есть это довольно простое окно с сеткой, содержащей два столбца, TextBlock и TextBox.
Что мне нужно, чтобы установить для столбца 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, все будет выглядеть нормально.
Но чего я не хочу видеть, так это того, что экраны меняют свой размер во время выполнения, потому что пользователи к этому не привыкли. Вот почему я хочу установить размер полей ввода кратным известному полю. Если я позволю ячейке метки изменить размер до того, что ей нужно, а затем установлю ячейку содержимого на множитель метки, я получу преимущества автоматического изменения размера с поведением, которое пользователи ожидают от экранов фиксированного размера (если они не изменят его изменение размера Это).
0.2*
и0.8*
такие же, как*
и4*
, а последний ближе к тому, что ищет SoMoS. - person Martin Hennings   schedule 25.01.2012