Skip to content

[Feature] Propertygrid control #3292

@cirrusone

Description

@cirrusone

Describe the problem this feature would solve

Visual Studio has an excellent propertygrid and it would be good to have a similar control inside our own applications to align with WinUI design. Hand building controls are both time consuming and awkward to align on both vertical and horizontal axis when aligning property name(s) and value(s), existing libraries are often missing features or design out of place.

A propertygrid would give well defined structure to a complex layout and simplify handling of lots of properties.

The main problem this will solve is a user can create a class with properties and bind to a propertygrid in minutes and not have to rearrange controls each time properties are added or amended.

Describe the solution

Propertygrid should auto generate from class.
Should allow collection of classes.
Should allow nested properties
Should include main WinUi editors
Property editors will allow custom UserControl / custom Editors
Each property should have a description which displays when row selected
Potential to allow multiple columns (more than 2) in the property grid, eg Height Min Max on same row.
Keyboard support to allow tab across or down based on chosen behaviour
Support for class attributes to define propertygrid variables, eg display name different to property name, group name, sort order, property description.
Include file dialog picker
Include ability to sort and search properties

Describe alternatives you've considered

Main alternatives are as follows
i) manually building individual controls and labels
ii) use open source option
iii) use 3rd party control library

However, most of these options are only WPF or Winforms and will look out of place against WinUI design.

Additional context & Screenshots

Example of VS propertygrid showing custom editors, grouping and a simple long list of properties

Properties1
Properties2

Please feel free to add or amend anything here.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions