Help us improve WPF and UWP XAML designer

Olia Gavrysh

Olia

We would like to make your experience developing WPF and UWP applications in Visual Studio better!

Currently we are investigating ways of improving the XAML Designer and making you more productive while developing UI for your apps. You can already check out our preview version of the new feature called Suggested Actions that enables easy access to common properties when a control is selected. This feature is available in  Visual Studio 2019 Preview version 16.6 and later. To use it, first enable it through Options > Preview Features > XAML Suggested Actions. Once enabled, click on a supported control and use the “light bulb” to expand and interact with the Suggested Actions UI.

Suggested Actions for Button in Visual Studion

 

We’d like to know, what else would you like to see in WPF or UWP XAML Designer. Please take this survey and tell us how we can improve Visual Studio and create better tools for you!

Take the survey! 

Survey illustration

Related post

Improvements to XAML tooling in Visual Studio 2019 version 16.7 Preview 1

18 comments

Comments are closed. Login to edit/delete your existing comments

  • Avatar
    Mikhail Nikitin

    I am totally for the design-time data.
    Another thing I am missing is the ability to edit all included elements, not just Content. Including their styles and templates. In general, style and template editing needs a caring hand.

    Probably off-topic, but bringing Live Tree View on-par with SnoopWpf would also be quite useful. E.g. LTV does not show parts of the standard templates, which makes manipulating them impossible. 2020, I am still using a seemingly discontinued SnoopWpf.

  • Avatar
    Larvoire, Jean-Francois

    A suggestion for making it much easier to edit XAML without changing anything to the XAML internals:
    I’ve published an open-source tool for converting any XML file into a much simpler format called SML. This SML format is completely equivalent to the original XML, but much simpler for humans to read and edit. The XML <->> SML conversion is completely reversible, as both are different representations of the same DOM tree.
    For example, here’s an XAML sample from Microsoft own documentation:

    <Label>
        <Label.Text>
            Hello, XAML!
        </Label.Text>
        <Label.FontAttributes>
            Bold
        </Label.FontAttributes>
        <Label.FontSize>
            Large
        </Label.FontSize>
        <Label.TextColor>
            Aqua
        </Label.TextColor>
        <Label.VerticalOptions>
            Center
        </Label.VerticalOptions>
    </Label>

    Piping the above text sample into the sml2.exe conversion tool generates that:

    C:\JFL\Temp>1clip | sml2 -f
    Label {
      Label.Text "
            Hello, XAML!
        "
      Label.FontAttributes "
            Bold
        "
      Label.FontSize "
            Large
        "
      Label.TextColor "
            Aqua
        "
      Label.VerticalOptions "
            Center
        "
    }
    
    C:\JFL\Temp

    And if you ask sml2.exe to trim the non-significant spaces that were introduced only to improve the legibility in the original XML, this becomes even considerably simpler:

    C:\JFL\Temp>1clip | sml2 -f -t
    Label {
      Label.Text "Hello, XAML!"
      Label.FontAttributes Bold
      Label.FontSize Large
      Label.TextColor Aqua
      Label.VerticalOptions Center
    }
    
    C:\JFL\Temp>

    And proof of the reversibility, piping that a second time into the sml2.exe program, to convert the data back to XAML yields:

    C:\JFL\Temp>1clip | sml2 -f -t | sml2
    <Label>
      <Label.Text>Hello, XAML!</Label.Text>
      <Label.FontAttributes>Bold</Label.FontAttributes>
      <Label.FontSize>Large</Label.FontSize>
      <Label.TextColor>Aqua</Label.TextColor>
      <Label.VerticalOptions>Center</Label.VerticalOptions>
    </Label>
    
    C:\JFL\Temp>

    So you could provide an option in the XAML designer for users to dynamically convert the XAML representation they see into one format or the other.
    This changes nothing for your internal data format, which remains XAML. But users would have an option to see and edit something much simpler.

    The sml2.exe tool is available there: https://github.com/JFLarvoire/libxml2/releases
    And the SML data format is documented in a paper there: https://archive.xmlprague.cz/2018/files/xmlprague-2018-proceedings.pdf (Page 137 “SML – A simpler and shorter representation of XML”)

  • Avatar
    Wesley Hatler

    I just wish some of the UWP improvements were available for WPF. One thing i would absolutely love to see is conditional Xaml available for WPF. I can do version adaptive code in WPF but conditional Xaml just isn’t available for WPF when it totally should be

  • Ali Warraich
    Ali Warraich

    Ability to create example data just for the designer preview without extending our own code. For example right click on listview and “generate example data” which fills the same by whatever the datasource is bound to (simply calling their ctors). This is useful for keeping our own code clean but still being able to preview something on the designer which is only generated on runtime otherwise.home write for us