XAML 2009 has been out for a few years now, and includes some features that would be quite nice to use with WPF in markup compiled XAML. What currently blocks XAML 2009 support? Where could community contributions help to move it forward?
Related issue for one of these items: https://github.com/dotnet/wpf/issues/45
XamlReader.Load code paths in WPF support most of those features.
If I recall correctly, the markup compiler (in PresentationBuildTasks.dll) and designer support (VS Xaml Tools) would be the major blockers.
After we replumbed WPF in .NET 4.0 to use System.Xaml, we weren't able to justify spending our smaller resources on migrating the WPF MarkupCompiler to use System.Xaml.
I'm sure there will be other issues also...perhaps BAML format and reader/writer needs extending for some of this work?
we weren't able to justify spending our smaller resources on migrating the WPF MarkupCompiler to use System.Xaml.
Perhaps if we can get some guidelines how to do that, the community could provide those resources?
I'm sure there will be other issues also
In case it helps, here's a behavior difference we've found between System.Windows.Markup in WPF and System.Xaml... it's a real edge case, so I figured it may help to bring it up here (if not, ignore me).
Our WPF app predates System.Xaml, and we've been using WPF's XamlReader / XamlWriter for serializing / deserializing our own objects for a while now.
One interesting "issue" we had when we tried moving that stuff to use System.Xaml: turns out that using WPF's XamlReader / XamlWriter, we can serialize / deserialize an instance of a type that doesn't have a public parameterless constructor, when the type has a [TypeConverter] attribute applied (but System.Xaml cannot save / load instances of such types).
Here's a complete repro to show the details of what I'm talking about (just a .csproj and a .cs file, under 100 lines between the two): https://gist.github.com/airbreather/1ca3ef7698b3539ac3cd1170144a6561
can someone explain Markup Complied XAML? the diff from normal xaml?
"normal xaml" as in a .xaml file in a WPF project (usually paired with a .xaml.cs file) is Markup Compiled XAML. Currently, only XAML 2006 (i.e. the original version) is supported. XAML 2009 adds a few features that would be nice to have available.
Most helpful comment
Perhaps if we can get some guidelines how to do that, the community could provide those resources?