Update on XAML compatibility for WPF 4
Our team has been doing great work since I last posted. WPF4 is shaping up nicely. I’m still mostly focused on System.Xaml and the XAML/BAML stack for WPF4.
Application Compatibility
We’ve been testing WPF4 (with its new XAML/BAML stack) with a number of applications. We’ll have very good application compatibility by our first Beta. As we are working through problems that we discover, sometimes it is a bug in our new stack, sometimes a missing few lines of code (IStyleConnector wasn’t being wired correctly up until last week), and sometimes it is totally crazy stuff that the v3 era parser did.
We are taking compatibility, even with pretty crazy things, very seriously. Our technique in System.Xaml.dll to enable compatibility is to provide a few properties on our different Settings objects that enable compatible behavior. Users of XamlReader.Load and Application.LoadComponent in WPF will automatically have those settings turned to the compatible way. Users of XamlServices.Load (in System.Xaml.dll) won’t have those settings set by default. We’ll see how that feels as we complete all the settings we have.
Anyway, recently we contacted Tim, Kevin, and Adam of InterKnowlogy for C-ME and Cristian Civera for Paperboy, since we needed some assistance to understand the XAML that the apps had as we get everything running happily.
How you can help when our beta ships
We won’t be able to test all apps out there, so some apps may have undiscovered issues with our first beta. When that ships (I’ll dig into our public date for that…), we’d really appreciate it if you could test your apps and help us understand any problems you find.
The size of our change is quite large, so beta testing is critical to help flush all issues out.