【问题标题】:Unable to fill the height of TextBox in DockPanel无法在 DockPanel 中填充 TextBox 的高度
【发布时间】:2013-11-25 21:41:06
【问题描述】:

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

【问题讨论】:

  • 嗨,你能告诉我你的整个 XAML 代码吗?因为你的代码正在使用我的示例应用程序。它可能是指文本框样式。

标签: wpf textbox height


【解决方案1】:

试试这个,将你的文本框样式设置为 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>

【讨论】:

  • 哦……你发现了问题。它的风格。谢谢:)
【解决方案2】:

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

<DockPanel LastChildFill="True">
  <Button DockPanel.Dock="Bottom"/>
  <TextBox Height="NaN"/>
</DockPanel>

【讨论】:

    猜你喜欢
    • 2013-02-26
    • 1970-01-01
    • 2010-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-13
    • 2014-08-30
    • 2020-11-02
    相关资源
    最近更新 更多