As WPF is becoming more and more used, the list of available tools and controls is growing fast.
Therefore, it seemed a good idea to list all the tools that I use or know but don't use yet, and share that list with you!
Visual Studio 2005
There's no doubt that Visual Studio 2005 is the best environment for developing WPF applications. So, if you have access to it (via MSDN for example), I certainly recommend using it.
However, out of the box, it has no knowledge of WPF projects, so you'll have to install some additional software.
First, you should install the Windows SDK (free), then you should add the Visual Studio 2005 extensions for .net 3.0 framework (they also include templates for WCF). These extensions install the templates for development of WPF projects, and also add Intellisense for XAML code (on a sidenote, when writing XAML code, the Intellisense is not always correct in flagging errors, due to the fact that the extensions are still in CTP phase!)
Also, you now get a designer for WPF applications, which is code-named Cider. The complete version will be included in the Orcas release.
Visual Studio Orcas
There's life after Visual Studio 2005! And it is known as Orcas. Visual Studio Orcas, the successor of 2005, will probably be released in Q4 2007, but you can download the CTP since a few months.
Just recently, the March 2007 CTP was released, which is considered a milestone on the road to the complete product.
So, what will Orcas bring to the world of WPF? It will include full support for designing WPF windows and web applications, with the completed version of Cider.
For now, it's possible to start using Orcas. You can download the CTP here (large download, beware!)
The Expression suite is a range of new products from Microsoft. The collection includes Blend, Web, Design and Media. Web is more or less the (very much improved) successor of FrontPage.
Blend is the tool that is the most interesting for WPF developers/designers. It allows you to open a WPF project, design it in a very advanced environment using a wide range of tools (much like Photoshop, but for designing user interfaces). After you're finished, you can open the project in Visual Studio again.
At this time, Blend is in RC, but since it's a public download, you can start using it right now. I hope I'll find some time to do a tutorial on Blend soon.
Design, a professional illustration and graphic design tool, is still in beta 2, but also available for download already. Design fully supports export to XAML, which makes it easy to incorporate your graphics with your other XAML code.
On a sidenote, Web has been released and you can download a trial here.
Infragistics NetAdvantage 2007 for WPF
Infragistics recently released Beta 1 of their first WPF controls. The suite, which can be downloaded here for free, includes the xamDataGrid and xamDataPresenter controls (pronounced "zamDataGrid" and "zamDataPresenter").
Some controls, like the xamCarouselListBox seem very promising and seem to make it very easy to add advanced features to your applications.
Last week, I got a mail from ActiPro, to introduce me to their ActiPro Ribbon. The control features Office 2007-like user interface for the Windows Presentation Foundation (WPF) and meets all of the core Microsoft licensing requirements for implementation of a ribbon user interface. I must say, it looks very nice. You can download a demo here.
XCeed WPF DataGrid
I found this control via a banner on Scott Hanselman's site... These guys simply give away FOR FREE the entire control, which is a fully featured WPF datagrid. It's risky to say but I think this replaces the missing datagrid in WPF.
When you register, the license is royalty free and perpetual. So, no excuse for not having this control in your toolbox.
Here you can check out some demo's and get the control.
XamlPad (xamlpad.exe) is a basic visual editor for XAML. If you installed the SDK, it's probably already on your PC, since it's part of the default install.
XamlPad is quite basic, and some say not the most user friendly. Therefore, I recommend using one of the two following tools in this list for basic XAML.
XamlPadX(Extended) is a somehow extended version of XamlPad and has some handy features. Some of its most important features (from the site):
- A xaml writer which parses the object back into xaml and vice versa.
- Simple command interpreter with limited intellisense (please look at help window for limitations).
- Viewer of default styles
- Automatically closing of tags
- Possibility to save in different locations
- Indentation feature (!)
You can download the lastest version here.
Another editor, which is now in alpha 2 phase, and is thus not yet complete. You can download it here and more info can be found here.
Adobe Fireworks XAML exporter
This free extension from Infragistics makes it possible to convert anything that's currently selected to XAML. You can download it here.
Performance Profiling tools
WPFPerf is a set of tools that can help you find performance issues in WPF. It included Perforator, Event Trace, Trace Viewer, Visual Profiler and Working Set Analyzer. There's a very in-depth article on MSDN that you can read here.
LocBAML is actually a sample included in the SDK. After you compile your XAML into an assembly, it can extract the strings and place them into a *.csv file. This file can then be translated, and the file can then be given again to LocBAML, which will create culture-specific resource DLLs. Handy for when you're translating your WPF application.
Since Reflector updated to version 5, it supports the .net 3.0 framework, and thus WPF files can be extracted from assemblies.
I hope you find in this list some tools that can help you explore the world of WPF.
If you know another tool not listed here, or if you have developed a control/tool you'd like to see in this list, please leave a comment or send me a mail.