XAML2009 and System.Xaml.dll Preview (in .NET FX 4 Beta1)
 | On May 20th, 2009, Beta 1 of .NET FX 4 and Visual Studio 2010 will be available for download1. We’re very excited that XAML2009 language features & System.Xaml.dll are now finally available for you to try. We first talked about XAML2009 & System.Xaml.dll at our PDC 2008 talk about XAML in November 2008 (video online). I’ve also shared a few status updates along the way: December, January, February, & March. |
Now that you can get the bits, we are very excited to hear your feedback, and we have much to share…
Of course, we continue to be excited about the 8 Benefits of XAML for UI and Beyond and are interested to see where you may find good uses of XAML. The investments we are making in .NET FX 4 and beyond should open up many new scenarios for XAML.
1 If you are an MSDN subscriber, everything was downloadable on May 18th.
Let’s Dive In!
Here is a list of some of the topics we’ll soon explore with you via blog posts, links, and samples:
XAML Users - XAML2009 Language features
Note: To use these new language features in WPF 4, you’ll need to avoid compiling your XAML, and use the existing XamlReader.Load(). XAML compiled to IL+BAML doesn’t support XAML2009 in the .NET 4 timeframe.
Type Developers
- Learn how your CLR type metadata, attributes, and interfaces affects your XAML capabilities (XamlType/XamlMember)
- TypeConverters and MarkupExtensions can get additional services (via IServiceProvider.GetService) during XAML load in v4, which will enable many new scenarios.
High Level APIs to Load/Save XAML
- System.Xaml.dll’s APIs: XamlServices.Load()/.Parse()/.Save()/.Transform() – apis to load and save XAML without any framework specific behaviors.
- PresentationFramework.dll’s APIs: XamlReader.Load()/XamlWriter.Save() – continues to do WPF specific things due to understanding of DependencyProperty, WPF Navigation, f:Freeze, and more.
- System.Activities.dll’s API: WorkflowXamlServices.Load()– quickly load WF workflows, including support for DynamicActivities + loading of the appropriate assemblies.
Lower Level APIs in System.Xaml.dll
- XamlReader/XamlWriter abstract base classes
- Writing a XAML Node Loop: while (reader.Read() { writer.WriteNode(reader);
- Core Readers/Writers:
Around the .NET Framework – a tour of frameworks uses of XAML
- WPF use of XAML (& BAML) – compatibility + new capabilities
- WF use of XAML
- WCF use of XAML
Other XAML Scenarios
- XamlPad – building a better XamlPad (support events, etc…)
- XamlDOM – showing off a sample DOM inside the XamlT.Pad sample
- XamlToCode – discussing the XamlToCode tab inside the XamlT.Pad sample
- Static analysis of XAML – writing an FxCop rule that analyzes XAML (or BAML in next beta)
- Validation of XAML – using the XamlXmlReader for validation
- Writing a “WrappingXamlReader”
- Constraining types/members available in XAML with a custom XamlSchemaContext
- Write a file format converter to/from XAML
- Building a new file format/storage mechanism for XAML – Build your own XamlReader/XamlWriter
Post .NET 4 Work
- WPF MarkupCompiler, BAML, Visual Studio, Blend support for XAML2009