动态大小的WPF文本框的最大高度

时间:2017-01-12 07:01:35

标签: wpf xaml textbox

我想在XAML中创建一个动态调整大小的TextBox,但是如果该文本非常长,那么它具有最大高度以防止它永远增长。如果达到最大高度,TextBox应停止增长,而是显示滚动条。理想情况下,当文本适合时,该滚动条不存在。我该怎么办呢?

我通过简单地不在TextBox上设置显式高度(并且可能打开文本换行)来获得动态调整大小属性。但实现最大高度和滚动条对我来说是一个谜。

目前我的设置始终显示滚动条并且永远增长。我该怎么改变呢?

<ScrollViewer>
    <TextBox Text="{Binding Path=Selection.SummeryDescription, UpdateSourceTrigger=PropertyChanged}" />
</ScrollViewer>

1 个答案:

答案 0 :(得分:1)

只需将ScrollViewer.VerticalScrollBarVisibility设置为Auto和MaxHeight即可。见下面的例子:

<TextBox Text="..." TextWrapping="Wrap" ScrollViewer.VerticalScrollBarVisibility="Auto" MaxHeight="500" />

这只会在需要时显示垂直滚动条。

请注意,在我的示例中,ScrollViewer元素被省略,因为我通过ScrollViewer.VerticalScrollBarVisibility属性启用了ScrollViewer。