Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

A ProgressBar With Text For Windows Phone 7

0.00/5 (No votes)
26 Jan 2011 1  
A ProgressBar With Text For Windows Phone 7

As you may already know, the ProgressBar control in Silverlight for Windows Phone has a serious performance problem when setting the IsIntermediate property to true. Basically, it chokes the UI thread.

This was discussed and solved a few month ago by Jeff Wilcox.
Jeff’s solution was to replace the control template with a new one which looks the same but does a better job. This control template was part of a style which was kept in the application resources section. So to use this patch, you also had to set the style for each ProgressBar you used.

Although this solution works great, I find it lacks some polishing..
So I here-by present you my ProgressBarWithText control.

ProgressBarWithText control wraps Jeff’s solution in an easy to use user control which already contains the new style and template. So using it is as simple as:

XML
<local:ProgressBarWithText Text="Loading Posts..." 
	ShowProgress="{Binding IsPostsLoading}" />

As you might have already guessed from the post title, I’ve added a text block to the control which will be shown whenever the progress bar, well, progress…

The reason for adding this feature was that I’ve found that every time I use a progress bar, I wish to write a simple text near it, usually something like “Loading…”

The end result looks like this:

image

You can download here the source code for the control and sample application that uses it.

By the way, if anyone recognizes this class from the “Using Pivot and Panorama Controls” lab found in the Windows Phone Training Kit for Developers, that’s fine, it’s because I wrote this lab for Microsoft.

That’s it for now,
Arik Poznanski.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here