XAML TextBox:即使verticalalignment拉伸,如何保持高度固定?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XAML TextBox:即使verticalalignment拉伸,如何保持高度固定?相关的知识,希望对你有一定的参考价值。

我实现了一个自定义控件,它只包含一个标签和一个文本框来输入多行文字:

<DockPanel Name="MyStackPanel" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" LastChildFill="True" >
    <Label DockPanel.Dock="Top"  Content="{Binding MyTitle}" Style="{StaticResource PropertyNameLabelStyle}" />
    <TextBox DockPanel.Dock="Bottom" Text="{Binding Path=MyText, Mode=TwoWay}" IsReadOnly="{Binding MyIsReadOnly}" HorizontalAlignment="Stretch" AcceptsReturn="True" Margin="5,5,5,5" VerticalScrollBarVisibility="Visible" IsUndoEnabled="True"  />
</DockPanel> 

重要的是,TextBox填充其父母提供的所有空间,但不是更多 - 这与上面的代码一起运作良好。然而,如果用户键入的文本多于显示的TextBox提供的TextBox而是变得更大(更高),然后简单地启用垂直ScrollBar,这就是我 - 我想其他大多数程序员 - 想要的。

答案

我对XAML很新,但我想你可能想试试这个:

我为TextBox本身设置了VerticalAlignment

<TextBox Text="ABC" MinWidth="200" VerticalAlignment="Center">
</TextBox>

它对我有用。

以上是关于XAML TextBox:即使verticalalignment拉伸,如何保持高度固定?的主要内容,如果未能解决你的问题,请参考以下文章

访问 GridView 中的 TextBox 文本 (C# / XAML)

如何在 XAML (Silverlight) 中以编程方式设置 TextBox 文本

TextBlock 与 TextBox 填充 - XAML WPF

WPF Xaml更改TextBox触发器更改前景

WPF的XAML怎么实现textbox里显示一个平移动画的实时横坐标?

在 XAML 中怎么说:默认宽度和高度,例如文本框