1

我正在尝试为 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 属性设置为 TextBox 的 Stretch,但没有成功。下面是输出窗口。

在此处输入图像描述

4

2 回答 2

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>
于 2013-11-13T10:41:54.717 回答
1

要让文本框自动调整大小而不必弄乱样式,您只需将高度设置回 Double.NaN。下面的 xaml 被剥离以仅显示相关位。

<DockPanel LastChildFill="True">
  <Button DockPanel.Dock="Bottom"/>
  <TextBox Height="NaN"/>
</DockPanel>
于 2015-03-19T17:51:43.750 回答