Is there a way to specify text trimming on a TextBlock
to be from the left side?
I've manage to accomplish two out of three scenarios (the third being the one I need):
Regular trimming
<TextBlock VerticalAlignment="Center" Width="80" TextTrimming="WordEllipsis" Text="A very long text that requires trimming" /> // Result: "A very long te..."
Left trimming
<TextBlock VerticalAlignment="Center" Width="80" FlowDirection="RightToLeft" TextTrimming="WordEllipsis" Text="A very long text that requires trimming." /> // Result: "...A very long te"
Left trimming where the end of the text is seen
// Desired result: "...uires trimming"
Does anyone know if this is possible? Thanks.
You can't do this out-of-the-box, but I can think of two things that might work:
1) Create an attached property for TextBlock called something like LeftTrimmingText. Then, you would set this property instead of the Text property. E.g.
The attached property would calculate how many characters could actually be displayed, and then set the Text property of the TextBlock accordingly.
2) Create your own class which wraps a TextBlock, and add your own properties to take care of the required logic.
I think the first option is easier.