A lot of WPF developers know that Visual Studio 2008 will include much better baked-in support for WPF - the "Cider" team have delivered a WPF forms designer, high-quality XAML Intellisense built on top of a XAML language service rather than an XSD, a full set of project templates and integration between WinForms and WPF design-time views. But not so many people are aware of the enhancements we're making behind the scenes to the core WPF runtime, both in terms of polishing off a few rough edges and adding a small number of targeted features that will unblock a few key scenarios.
I thought I'd steal liberally from a presentation the famous Kevin Moore (of WPF Bag'o'Tricks fame) delivered at an internal field conference this week, and give you a quick run-down of some of the new capabilities you'll find in this updated release. Make sure you download a copy of Visual Studio 2008 Beta 2 and check out both the design-time improvements and the enhanced platform features.
Here's a non-exhaustive list of improvements:
- Fixed animation glitching issues.
- Layered windows are now hardware accelerated.
- Many other fixes to improve cold start, data binding, etc.
- Data Binding
- Support for XLINQ binding.
- Improved data validation on binding (ValidatesOnDataErrors and ValidatesOnExceptions binding properties).
- Much better debugging (PresentationTraceSources.TraceLevel can be set on bindings or providers).
- Graphics and Text
- UIElement3D (enables interactive 2D content on 3D surfaces).
- Improved support for IMEs (input method editors).
- Indic script support.
- TextBox now supports a limited undo history.
- RichTextBox now fully supports inline elements (e.g. a Button).
- Introduced support for the Firefox browser.
- WCF now operates in partial-trust mode.
- Can now read/write HTTP cookies.
- App Model
- System.AddIn provides support for isolated visual and non-visual add-ins, allowing for discovery, versioning, activation and lifecycle management.
Most of the performance improvements and some of the feature improvements will also be included in a forthcoming service pack for .NET Framework 3.0 - I don't think we've talked externally about delivery mechanisms for this at this stage, however.
For more information, your first point of reference should of course be the Visual Studio 2008 Beta 2 documentation. I'm going to see if I can film a Channel 9 video with Kevin over the next week, so we can demo some of these new features to you. Feel free to add a comment to this blog if there's something specific you'd like to ask for more information about, and we'll try to capture it.