![](/img/trans.png)
[英]How to make a ScrollViewer work without specifying a static height or width?
[英]How to make ScrollViewer work only when texblock in it has height greater than ScrollViewer height?
在我的ListBox
我顯示了包括文本在內的不同內容。 文字可以長也可以短。 通過ScrollViewer
。 碼:
<ScrollViewer MaxHeight="300" VerticalAlignment="Top" Grid.Column="1" Grid.Row="1" >
<TextBlock Style="{StaticResource TextsTextBlock}" Text="{Binding Texts}" Grid.Column="1" Grid.Row="1" />
</ScrollViewer>
如果文本較短,並且此文本的高度未達到ScrollViewer
MaxHeight
,則此方法也可以MaxHeight
。 我想讓ScrollViewer
僅在文本較長且其高度大於ScrollViewer
的MaxHeight
才能工作,否則-不必工作。
嘗試過的邊界
<Border BorderBrush="Aqua" BorderThickness="2" MaxHeight="300" VerticalAlignment="Top" Grid.Column="1" Grid.Row="1">
<ScrollViewer VerticalAlignment="Top" VerticalScrollBarVisibility="Auto" >
<TextBlock Style="{StaticResource TextsTextBlock}" Text="{Binding Texts}" Grid.Column="1" Grid.Row="1" />
</ScrollViewer>
</Border>
但它仍在此邊框中滾動。
將VerticalScrollBarVisibility
屬性設置為Auto
。
默認值為“ Visible
,這意味着始終顯示滾動條。
相反, HorizontalScrollBarVisibility
屬性的默認值為Hidden
。
嘗試刪除一些Grid.
內部控件的屬性
<Border BorderBrush="Aqua" BorderThickness="2" MaxHeight="300" VerticalAlignment="Top" Grid.Column="1" Grid.Row="1">
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" >
<TextBlock Text="text" TextWrapping="Wrap"/>
</ScrollViewer>
</Border>
這僅適用於一行文本
如果我復制粘貼您的代碼,效果很好
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.