WPF: Auto truncating text in TextBlock

I have a TextBlock of Width 600 and Height 80 in my WPF 4.0 application. I would like to truncate text and append ... at the end, at runtime.

How can I approach it?

Answers


Is it a TextBox or TextBlock?

If it is TextBlock, then you can use:

In C#:

myTextBlock.TextTrimming = TextTrimming.CharacterEllipsis;

OR

In XAML:

<TextBlock Name="myTextBlock" Margin="20" Background="LightGoldenrodYellow" 
  TextTrimming="WordEllipsis" 
  FontSize="14"
>

But if it were a TextBox, then as per my knowledge, you can bind a ValueConverter to the textbox and return the trancated text(with dots : ...) into the text box but save the full text into the Tag property of the textbox. So that your original text is not lost.

But, as per my knowledge, it is not a good practice to apply text trimming on text boxes until there is a specific requirement.


Need Your Help

Static constant string (class member)

c++ string class static const

I'd like to have a private static constant for a class (in this case a shape-factory).

Proper way to Dispose of a BackGroundWorker

c# .net multithreading backgroundworker

Would this be a proper way to dispose of a BackGroundWorker? I'm not sure if it is necesary to remove the events before calling .Dispose(). Also is calling .Dispose() inside the RunWorkerCompleted