2017-01-12 228 views
0

我想在XAML中製作一個動態調整大小以適合內容的文本框,但是如果文本很長,那麼它的最大高度會阻止它永遠不會增長。如果達到最大高度,文本框應停止增長,而是顯示滾動條。理想情況下,該文本適合時該滾動條不存在。我會怎麼做呢?動態調整大小的WPF文本框的最大高度

我通過簡單地不在TextBox上設置明確的高度(並且可能打開文字環繞)來獲得動態調整大小的屬性。但是實現最大高度和滾動條對我來說是個謎。

目前我有一個設置,總是顯示一個滾動條,並永遠增長。我將如何改變這一點?

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

你嘗試過設置'TextBox.MaxHeight'和'ScrollViewer.MaxHeight'嗎? – wkl

+0

爲ScrollViewer設置MaxHeight會限制尺寸,但不知道該屬性是否存在。但滾動條始終存在,而不是僅在需要時。 – Drakestar

+0

不需要時可以避免滾動條。請參閱下面的答案。 –

回答

1

您只需通過ScrollViewer.VerticalScrollBarVisibility設置爲自動和MaxHeight做到這一點。請參閱下面的示例:

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

這將只在需要時顯示垂直滾動條。

請注意,在我的示例中,ScrollViewer元素被省略,因爲我通過ScrollViewer.VerticalScrollBarVisibility屬性啓用了ScrollViewer。

相關問題