Click here to Skip to main content
15,881,852 members
Articles / Silverlight
Tip/Trick

Text Trimming in Silverlight 4

Rate me:
Please Sign up or sign in to vote.
5.00/5 (1 vote)
30 Jun 2010CPOL2 min read 18.9K   1
Here I will show you how you can use the Text Trimming functionality in Silverlight 4.

Have you ever tried trimming your Text in Silverlight 2 or Silverlight 3? If yes, just recall the lines of code you wrote for trimming your text content and showing an Ellipsis (i.e., "..." three dots) at the end of the text. If you didn’t try it earlier, then just imagine what you have to do and how you will do it. Also imagine the number of lines you have to write. Confused smile

In this post, I will show you how I can implement this feature the easy way. Stop!!! I will not write a huge code here nor will I use any library to do that. Microsoft has added this functionality in Silverlight 4. You just have to set the Enum value to the TextBlock property. Surprised smile Wao!!!

So, how to do that? Let us try it.

Create a new Silverlight Project and add one TextBox and a TextBlock. I will bind the TextBox content to the TextBlock so that when we modify the content of the TextBox, it will immediately reflect in the TextBlock’s Text content.

You can find the code here:

XML
<TextBox x:Name="txtMessage" Width="200" Height="25" Margin="10" />
<TextBlock x:Name="txbMessage" Text="{Binding Path=Text, ElementName=txtMessage}" 
TextWrapping="Wrap" Width="200" Height="60" Margin="10" />

Be sure that you set some boundary to the TextBlock, i.e., Height and Width. It will make the TextBlock a fixed size control. Once you run your application, start typing on the TextBox and you will notice that the TextBlock itself is updating with the text you are entering in the TextBox automatically. If you are writing a huge amount of text inside the TextBox, you will notice that after the specified size, the text inside the TextBlock is growing but not creating any Ellipsis!!! Confused smile

image

I think you are confused again!!! Why is it not working!!! Wait a minute. We didn’t instruct the TextBlock to trim the text. Now let us do that. We will set the enum property “TextTrimming” to “WordEllipsis” and here is the code for the same:

XML
<TextBox x:Name="txtMessage" 
Width="200" Height="25" Margin="10" />
<TextBlock x:Name="txbMessage" 
Text="{Binding Path=Text, ElementName=txtMessage}" 
TextTrimming="WordEllipsis" TextWrapping="Wrap" 
Width="200" Height="60" Margin="10" />

Once you run your application now and start typing a huge content, you will see that after a certain length of text (generally the dimension of the TextBlock to set the content), the whole string has been cropped and set one Ellipsis, i.e., three dots ("...") at the end of the last word. If you type more inside the TextBox, it will not reflect in the TextBlock content.

image

This is a new feature in Silverlight 4 and you will find it very useful when you want to trim some portion of text. You don’t have to write any code for it to implement. It is available by default. So, why wait? Go and try the sample code. Enjoy... Smile

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Technical Lead
India India

Kunal Chowdhury is a former Microsoft "Windows Platform Development" MVP (Most Valuable Professional, 2010 - 2018), a Codeproject Mentor, Speaker in various Microsoft events, Author, passionate Blogger and a Senior Technical Lead by profession.

He is currently working in an MNC located in India. He has a very good skill over XAML, C#, Silverlight, Windows Phone, WPF and Windows app development. He posts his findings, articles, tutorials in his technical blog (www.kunal-chowdhury.com) and CodeProject.


Books authored:


Connect with Kunal on:





Comments and Discussions

 
GeneralReason for my vote of 5 Well Explained Pin
Member 747486028-Sep-10 18:06
Member 747486028-Sep-10 18:06 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.