我正在尝试填充DockPanel中所有剩余空间的TextBox高度,但没有成功。我甚至没有找到一个成功的示例代码来完成这些工作。
这就是我所做的:
<Grid x:Name="LayoutRoot">
<DockPanel Background="Red" LastChildFill="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Button DockPanel.Dock="Bottom" Content="Save" Width="100" Height="50" HorizontalAlignment="Right" Margin="10 5"/>
<TextBox AcceptsReturn="True"
AcceptsTab="True"
Margin="5 10"
TextWrapping="Wrap"/>
</DockPanel>
</Grid>
我错过了什么吗?我也尝试将VerticalAlignment属性设置为Stretch of TextBox,但没有成功。下面是输出窗口。
答案 0 :(得分:3)
尝试此操作,将文本框样式设置为NULL并检查其工作正常。
<DockPanel Background="Red" LastChildFill="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Button DockPanel.Dock="Bottom" Content="Save" Width="100" Height="50" HorizontalAlignment="Right" Margin="10 5"/>
<TextBox AcceptsReturn="True" AcceptsTab="True" Margin="5 10" TextWrapping="Wrap" Style="{x:Null}"/>
</DockPanel>
答案 1 :(得分:0)
要让文本框自动调整大小而不必弄乱样式,您可以简单地将高度设置为Double.NaN。下面的xaml被剥离以仅显示相关位。
<DockPanel LastChildFill="True">
<Button DockPanel.Dock="Bottom"/>
<TextBox Height="NaN"/>
</DockPanel>