VisualHint's blog

Fluent API updated

So far, you were able to configure a category with a specific call, and configure child properties this way:

.ForCategory("Credentials", category => category.Comment = "my comment")
.ForProperty(x => x.Username, config => config
    .Category("Credentials", 1)

As you can see the calls are at the same level. The property definition had to mention the parent category in order for, let's say, set a sorting index. This kind of mimics the way attributes work. You can attach a CategoryAttribute to a property to set a category sorting index. Obviously this is not very intuitive when using a fluent API. Therefore, I added a new way to define categories and properties and this now displays as a 2-levels hierarchical tree:

.ForCategory("Credentials", config => config
    .Comment("my comment")

    .ForProperty(x => x.Username, config => config

Note that these methods are also available inside ForCategory to configure a category:

  • Sorted to set a sorting index.
  • Comment to add a description.
  • ImageIndex to add an icon on the left of the category label.
  • ValueText to set a secondary text on the right side of the category label.

That way, this is clear that you define some settings for a category and then for its child properties.
This is in version 4.0.2 and ready for you to enjoy.