How can we improve the Windows dev platform?

Add Markup Extensions to (and Improve) WinRT Xaml System (System.Xaml Parity)

Much effort was made in WPF Xaml Serialization to decouple it from the presentation assemblies and moved into its own assemblies, System.Xaml, and System.Windows.Markup.

This Xaml System had it's own serialization/deserialization mechanism in XamlServices class. Furthermore, this Xaml system had a very powerful component/concept that is conspicuously absent in WinRT: Markup Extensions.

Markup Extensions are found in the following Xaml Systems:
- WPF
- Silverlight 5
- Xamarin.Forms (notably NOT a Microsoft technology, but recognizes their power nonetheless)

This feature is to ask for Xaml serialization featureset parity with WPF/System.Xaml. That means:
- Custom Markup Extensions
- XamlServices.Load and Save
- All default system markup extensions "{x:Null}, {x:Static}, etc." found in WPF/Silverlight5.
- IProvideValueTarget interface
- INameScope interface
- ... and more!

YEAH!!! XAML!!! WHOOOOOOOOOOO!!!

299 votes
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    Mike-EEEMike-EEE shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

    25 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      Signed in as (Sign out)
      Submitting...
      • MysticTazMysticTaz commented  ·   ·  Flag as inappropriate

        Additionally, WinRT Xaml REALLY needs x:Type and support for TypeConverter's, which WinRT also doesn't have yet.

      • Mike-EEEMike-EEE commented  ·   ·  Flag as inappropriate

        Additionally, this assembly should also be self-contained and distributable, just like System.Xaml. Meaning, we should be able to use this assembly for Xaml serialization no matter where it's needed, whether it is in the client, server, anywhere... just like System.Xaml.

      • Mårten RångeMårten Rånge commented  ·   ·  Flag as inappropriate

        Inheriting MarkupExtension was sadly missing from WinRT (along with other things but lets not get into that). I have used it to define "aliases" for different styles of bindings to reduce code duplication in xaml. Instead of writing {Binding Path=XYZ, Format={}{0,0.00}, Mode=TwoWay,ValidateOnError=true} everywhere I could make an alias: {b:BindToAmount XYZ}. Achieves less redudancy and clearer semantics.

      • kTAMURAkTAMURA commented  ·   ·  Flag as inappropriate

        Silverlight has already supported the custom markup extension.

        Because Static, DynamicResource and DataType markup extensions connot be use on metro style app, at least, it is nessesary to support custom markup extension for metro style app.

      ← Previous 1 2 Next →

      Feedback and Knowledge Base