WPF文本修剪

本文关键字:修剪 文本 WPF | 更新日期: 2023-09-27 18:26:57

我使用WPF的TextBlock来运行文本动画。我通过将TranslateTransform.X-ActualWidth设置为ActualWidth来做到这一点。

一切都很好,但有一个小问题:TextBlock.Text属性中的文本将被修剪以适应初始大小的窗口。

<TextBlock x:Name="txtRunning" 
           TextWrapping="NoWrap" 
           VerticalAlignment="Center" 
           TextTrimming="WordEllipsis" 
           Text="very long text here...">

我试图设置:TextTrimming="WordEllipsis",但它用三个点(…)代替了修剪。

我想知道如何将这三个点替换为全文(无修剪文本)。

WPF文本修剪

我假设TextBlock的大小受到其父容器的约束。将其封装在Canvas中应该可以使其延伸到窗口的右边缘之外,并为您提供所需的滚动横幅效果。这应该是唯一必要的改变;仍然可以将动画变换直接应用于TextBlock

顺便说一句,如果要绘制动画文本(例如TextHintingMode),您可能需要查看TextOptions中的一些附加特性。

如果不希望TextBlock修剪文本,则不要设置TextTrimming:

<TextBlock x:Name="txtRunning" TextWrapping="NoWrap" VerticalAlignment="Center" Text="very long text here...">

设置TextTrimming="WordEllipsis"意味着任何不适合TextBlock的文本都将替换为省略号"…"。