Yes, XAML2009 isn't everywhere yet...
Rob commented on the beta 1 announcement post:
- "So, are you saying, you created Xaml2009, but we can't actually use it with VS or Blend until post .NET 4.0? And are you saying that we can't write applications with it without writing some bootstrapping code, because it currently doesn't compile to BAML + IL? Can you elaborate please."
Yes, when VS 2010 and .NET 4 ship, VS 2010 (Cider designer + XAML editor), Blend, Silverlight, and WPF's BAML won't have support for the new language features yet. This isn't ideal, but is the best we could do in this timeframe.
The major accomplishments that we have achieved in .NET 4 is:
- having one consistent XAML stack that is shared in WPF/WCF/WF (and beyond)
- moving XAML lower in the stack, out of WPF assemblies, into an assembly that depends on MsCorLib, System, System.Xml. In Beta1, it still depends on WindowsBase.dll, we hope to do some type forwarding (of ContentPropertyAttribute, etc...) from WindowsBase.dll to System.Xaml.dll in the next beta.
- moving WPF to 1 parser, instead of 3...it used to have seperate code paths for template, styles, and other parsing. Consistent behavior everywhere!
- creating a public API for BAML Reading, enabling analysis of XAML or BAML with the same API. ("BamlReader as Text" mode should be available next beta, it didn't make beta1.)
- ...
We had intended to enable BAML for the new language features, but "flipping" WPF/WF/WCF to all use the new stack ended up taking more work than we thought. Once WPF was flipped, we realized we also had significant perf work to do...as BAML in v3 avoided reflection, and we weren't doing that yet.
WPF 4 users will be able to use all of the XAML2009 lanugage features if they change the build action from Page to Resource. This will avoid compiling the XAML into BAML/IL. Events can still work in this scenario...Button Click="foo" looks for a "foo" method on the root object, so put a Window1 class at the root. We'll work on a sample.
We'll be working across all those groups to get support as soon as possible after .NET 4.
I understand that this fact makes it harder for WPF users to be excited about the new language features...