[c#] WPF TextBlock中的自動垂直滾動條?



3 Answers

現在可以使用以下內容:

<TextBox Name="myTextBox" 
         ScrollViewer.HorizontalScrollBarVisibility="Auto"
         ScrollViewer.VerticalScrollBarVisibility="Auto"
         ScrollViewer.CanContentScroll="True">SOME TEXT
</TextBox>
Question

我在WPF中有一個TextBlock 。 我寫了很多行,遠遠超過它的垂直高度。 我期望一個垂直滾動條在這種情況發生時自動出現,但它沒有。 我試圖在“屬性”窗格中查找滾動條屬性,但找不到一個屬性。

一旦其內容超過其高度,我怎樣才能為我的TextBlock自動創建垂直滾動條?

澄清:我寧願從設計師那裡做,而不是直接寫給XAML。




<ScrollViewer Height="239" VerticalScrollBarVisibility="Auto">
    <TextBox AcceptsReturn="True" TextWrapping="Wrap" LineHeight="10" />
</ScrollViewer>

這是在XAML中使用滾動文本框並將其用作文本區域的方法。




<ScrollViewer MaxHeight="50"  
              Width="Auto" 
              HorizontalScrollBarVisibility="Disabled"
              VerticalScrollBarVisibility="Auto">
     <TextBlock Text="{Binding Path=}" 
                Style="{StaticResource TextStyle_Data}" 
                TextWrapping="Wrap" />
</ScrollViewer>

我以另一種方式將MaxHeight放入ScrollViewer中。

只需調整MaxHeight以顯示更多或更少的文本行。 簡單。




不知道是否有其他人有這個問題,但包裝我的TextBlock到一個ScrollViewer有人搞砸了我的用戶界面 - 作為一個簡單的解決方法,我想通過TextBox替換TextBlock這樣的一個

<TextBox  Name="textBlock" SelectionBrush="Transparent" Cursor="Arrow" IsReadOnly="True" Text="My Text" VerticalScrollBarVisibility="Auto">

創建一個TextBox ,它的外觀和行為與帶滾動條的TextBlock相似(並且您可以在設計器中完成)。






Related