我的窗口是一个网格,第二行伸展以填充窗口。
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
第二行的内容是StackPanel。我在SO上模仿了类似问题的解决方案,它对我不起作用:列表框的高度不会延伸到第二行。我的代码出了什么问题?感谢。
<StackPanel x:Name="lbStackPanel" Grid.Row="1" >
<ListBox Name="listBox1" Height="{Binding ElementName=lbStackPanel, Path=ActualHeight}">
...
</ListBox>
</StackPanel>
答案 0 :(得分:4)
为什么你需要StackPanel
?
把它拿出来,行应该正确。
答案 1 :(得分:4)
忽略StackPanel,只有一个占据第二行的ListBox(Grid.Row =“1”)。将ListBox的HorizontalAlignment和VerticalAlignment的值设置为“Stretch”。然后ListBox的高度将占据整个第二行。这比绑定StackPanel的高度要容易得多。