2014-10-09 1 views
0

У меня есть сетка с двумя рядами, какКак сделать высоту WPF WrapPanel расти автоматически (дважды), когда обертка для двух линий происходит

<Grid.RowDefinitions> 
    <RowDefinition Height="44" /> 
    <RowDefinition Height="*" /> 
</Grid.RowDefinitions> 
<WrapPanel Grid.Row="0" HorizontalAlignment="Stretch" Orientation="Horizontal"> 
    //... 
</WrapPanel> 

В первой строке я помещаю в WrapPanel с горизонтальной ориентацией. Элементы в WrapPanel составляют около 40, поэтому он выглядит круто, когда есть только одна строка. Однако, когда элементы обертываются на две строки (скажем, потому что пользователь уменьшает ширину столбца с помощью GridSplitter), то WrapPanel правильно разбивается на две строки, но вторая строка не отображается, потому что фиксированная высота строки 44.

Как добиться того, чтобы первая строка должна составлять 44 или 88 в соответствии с одной строкой или двумя строками WrapPanel?

Заранее спасибо

+0

Я не знаю точно, но ответ, вероятно, включает в себя конвертер. Проверьте их здесь: http://wpftutorial.net/ValueConverters.html – Hosch250

ответ

0

Это позор, я не понял, ... «Auto» является ответом. Авто никогда не работал для меня, поэтому, возможно, именно поэтому он не появился в моем сознании в первую очередь.

<Grid.RowDefinitions> 
    <RowDefinition Height="Auto" /> 
    <RowDefinition Height="*" /> 
</Grid.RowDefinitions> 
<WrapPanel Grid.Row="0" HorizontalAlignment="Stretch" Orientation="Horizontal"> 
Смежные вопросы