9 Apr
2009

Elegant Code Welcomes Brian Lagunas and Corey Schuman

ElegantCode just got a whole lot smarter in the UX department with the addition of Corey and Brian. Both bring a wealth of UX knowledge from RIA Silverlight, WPF, XAML, Game Development, Animation &  Design. Brian wasted no time dropping several posts here on us at ElegantCode, and I?d bet a few bucks there’s a […]

Read More
9 Apr
2009

Conditional Using

Today I found myself writing the following code: private void DoSomething(String userName) { using(var userEntry = GetUserEntryFor(userName)) if(CouldBeFound(userEntry)) { // Do something with userEntry } } private DirectoryEntry GetUserEntryFor(String userName) { // … } private static Boolean CouldBeFound(DirectoryEntry entry) { return null != entry; } Notice the combination of the if statement with the using […]

Read More
8 Apr
2009

Analyze performance issues in your WPF application with WPFPerf.

Do you have a WPF application that just seems to be slow in some areas and have no idea on how to track it down? Enter the WPFPerf profiling tool.  WPFPerf is a suite of performance profiling tools that allows you to analyze the run-time behavior or your WPF application.  It can also help determine […]

Read More
7 Apr
2009

WPF String.Format in XAML with the StringFormat attribute

So you want to format the output of information but don’t want do it in code behind or write a value converter to do it. Well, good news, you don’t have to. You can format your data directly in XAML. How, you may be asking? New in .NET 3.5 SP1 is the StringFormat attribute.

Example 1: Lets say you want to format a double value into a currency:

Notice the “{ }” just after the StringFormat attribute? What that is doing is escaping the text after the “=” sign. You need to do this because we do not have any text directly after the “=” sign. If you don’t put the “{ }’”, strange things will happen.

And now lets say we want to place some text in front of the currency:

Since we now have text after the “=” sign we no longer need the “{ }”.

How about a date you ask:

Oh, and you want time:

What? You want to create a tooltip comprised of more than one property of an object. Well Okay:

As you can see the StringFormat attribute can be a time saver, and just make life a little easier. One thing to note is that if you use the StringFormat attribute and you bind to a property that has no value, otherwise known as null, then the text that will be displayed is “{DependencyProperty.UnsetValue}”.

Read More