WPF中的TextBlock處理長字符串


Xaml:

<StackPanel>
                <TextBlock Margin="10" Foreground="Red">
                        This is a TextBlock control<LineBreak />
                        with multiple lines of text.
                </TextBlock>
                <TextBlock Margin="10" TextTrimming="CharacterEllipsis" Foreground="Green">
                        This is a TextBlock control with text that may not be rendered completely, which will be indicated with an ellipsis.
                </TextBlock>
                <TextBlock Margin="10" TextWrapping="Wrap" Foreground="Blue">
                        This is a TextBlock control with automatically wrapped text, using the TextWrapping property.
                </TextBlock>
</StackPanel>

如圖:

 

上面用了三個文本框,每一個都用不同的顏色,它們用不同的方式處理了文本太長的問題。

紅色文本框使用LineBreak標記在指定的位置換行。它給了你絕對的控制權,能做到隨時切換到新行。但是很多情況下卻不適用。如果用戶把窗口拉大,文本仍在原來的位置換行,即使有足夠的空間把整個文本一行顯示。

綠色文本框使用TextTrimming屬性賦值為CharacterEllipsis,當文本無法顯示全的時候顯示為省略號。這很好的顯示了文本很長但是不夠顯示完整。如果你有很長的文本但是不想顯示多行,那么這是一個很好的方法。另外你還可能用到WordEllipsis,它以單詞為單元進行省略,而不是以字母,防止一個單詞只顯示部分。

藍色文本框使用TextWrapping屬性賦值為Wrap,它能讓文本自動換行。與第一種手動切換相比,它是完全自動的。它還能隨着空間的改變而自動調整。通過拉大或縮小窗口,你會發現自動換行發揮完美。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM