WPF and the Vista User Experience

I am working on a user interface (UI) for a client tool of our current project. Though, the last two have been a epic battle fighting with a various of minor things. However, each and every of these things does cost a remarkable amount of time.

Starting with WPF many developers will spend mcuh time with skinning in WPF. It’s a cool thing, but you should leave these things to designers. It is a enormous time sink. You make huge progress in the beginning but end up with endless fine-tuning in the end. The first have a look at the Windows Vista User Experience Guidelines. The really thing: you don’t have to read everything online, just download the 630 pages as PDF document. You will see that skinning should be used carefully. Much more important are some new guidelines to keep in sync with the Vista UI. BTW: if you are looking for the Vista icons you should have a look here (but I haven’t told you that and so use them only to inspire you by creating own icons).

Well, what’s about the cool stuff such as the new Command Link in Vista? Should be a new control? Well, not that easy. Daniel Moth found out to check the Vista Bridge Samples coming with the Windows SDK. you should go definitely for the Windows SDK Update for Vista. Daniel also gives a first impression how to use the TaskDialogs provided by the VistaBridgeLibrary.

Now you will definitely run into trouble if you don’t create a manifest file for you application using the following dependency:

 <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="" processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" language="*" /> 

In my case, I also had to use strong-named assemblies since they are used within VSIP packages. You will realize that the VistaBridgeLibrary uses friendly assemblies, Junfeng gives a short introduction into friendly assemblies. You’ll discover that is not as easy since there have been some changes in Visual Studio 2005. Adrian figured out how it works. David cover’s the further steps and also provides a small tool to obtain the public key token of a signed assembly ready to be copy ‘n’ pasted into your Assembly.cs file.

Leave a Reply