无法填充DockPanel中TextBox的高度

时间:2013-11-13 10:23:42

标签: wpf textbox height

我正在尝试填充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,但没有成功。下面是输出窗口。

enter image description here

2 个答案:

答案 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>