Bor*_*ris 21 silverlight wpf xaml texttrimming
有没有办法TextBlock在左侧指定文本修剪?
我已经设法完成三个场景中的两个(第三个是我需要的场景):
定期修剪
<TextBlock
VerticalAlignment="Center"
Width="80"
TextTrimming="WordEllipsis"
Text="A very long text that requires trimming" />
// Result: "A very long te..."
Run Code Online (Sandbox Code Playgroud)左修剪
<TextBlock
VerticalAlignment="Center"
Width="80"
FlowDirection="RightToLeft"
TextTrimming="WordEllipsis"
Text="A very long text that requires trimming." />
// Result: "...A very long te"
Run Code Online (Sandbox Code Playgroud)左边修剪文本末尾的位置
// Desired result: "...uires trimming"
Run Code Online (Sandbox Code Playgroud)有谁知道这是否可能?谢谢.
如果您不关心椭圆,而只是想在截断文本时看到文本的结尾而不是开头,则可以将TextBlock包裹在另一个容器中,并将其HorizontalAlignment设置为Right。它将按照您的需要将其切断,但不会丢失椭圆。
<Grid>
<TextBlock Text="Really long text to cutoff." HorizontalAlignment="Right"/>
</Grid>
Run Code Online (Sandbox Code Playgroud)
您不能立即执行此操作,但是我可以想到两件事可能会起作用:
1)为TextBlock创建一个附加属性,称为LeftTrimmingText。然后,您将设置此属性而不是Text属性。例如
<TextBlock my:TextBlockHelper.LeftTrimmingText="A very long text that requires trimming." />
Run Code Online (Sandbox Code Playgroud)
附加的属性将计算实际可以显示多少个字符,然后相应地设置TextBlock的Text属性。
2)创建您自己的包装TextBlock的类,并添加您自己的属性以处理所需的逻辑。
我认为第一种选择比较容易。
| 归档时间: |
|
| 查看次数: |
7398 次 |
| 最近记录: |