WinForms - Reporting - End-User Designer Properties Panel (v18.2)

We previously announced appearance updates for the End User Report Designer on the WPF and WinForms platforms. Improving the modern appearance further, we introduce a new Properties panel for the WinForms platform in v18.2.

Microsoft Office Inspiration

A little while ago, our WinForms product team released the new Office View for the PropertyGrid control. We based our work on this new view and we decided to go with four tabs to categorize our properties:

  1. Appearance – What report controls look like
  2. Behavior – How controls behave during report generation
  3. Data – Everything about data binding and format strings
  4. Miscellaneous – All other properties.

In addition, there is a Favorites tab.

We applied lots of customizations to the standard editors. For instance, our numeric editor uses two editing styles at once: spin edit and trackbar. We implemented specific property editors for almost all properties on the Appearance tab to make them as user-friendly as possible.

Here’s what the Properties panel looks like when an XRLabel is selected:

New-Style Properties Panel

We modified the way the search functionality in the Properties panel works. The search editor is visible to to the right of the property tabs at all times, and searching works across all tabs at once.

Searching for Properties

Blend Inspiration

After we first implemented our Expression Bindings, we found that the approach we used to integrate them in the old-style Properties panel was not as intuitive as we’d hoped.

For our new panel, we decided to follow Microsoft Blend and Visual Studio: a small square symbol is shown next to each property editor. By clicking on the square, you can define bindings and reset property values. The square is colored when a non-default value has been set, and for Expression Bindings we show a special icon (the f stands for formula) and change the frame color of the editor. Here’s an image to illustrate all this:

Text Expression Binding

When you click the square (or the formula icon when an expression is already defined), the Expression Editor comes up:

Property Expression Editor

In Case of Trouble…

We took care to leave the old Properties panel implementation intact, in case you should need it for some unforeseen technical reason, or because you don’t like what we did with the new panel. In case you find yourself reverting to the old-style panel, please create a Support Center ticket and tell us about your reasons so we can fix the problem!

If you added a Report Designer component to your form, you can select the PropertyGridDockPanel (it has the name propertyGridDockPanel1 by default) and set the property UseOfficeInspiredView to false.

If you invoke the Report Designer from code, you can use a snippet like this to deactivate the new-style Properties panel:

// You probably have code like this:
var designTool = new ReportDesignTool(new XtraReport());
var propertyGrid = (PropertyGridDockPanel)
  designtool.DesignRibbonForm.DesignDockManager[DesignDockPanelType.PropertyGrid];

// This is the important bit to deactivate the new-style panel
propertyGrid.UseOfficeInspiredView = false;

designTool.ShowRibbonDesigner();

What About the Visual Studio Properties Panel?

At this time, the new-style panel is only available in the End User Report Designer. Within Visual Studio, the Binding Expressions tab integrates in the same way it previously did in the End User Designer, using an extra button:

Expression Bindings in the Old-Style Panel

We had numerous support questions about this old-style integration, so it appears the button is not as obvious as we’d hoped. Do you have thoughts on this? Should we consider making the new-style panel available in the Visual Studio-embedded designer?

We Would Like to Hear From You

What do you think about the new Properties panel? We would love to hear any thoughts or ideas you have!

1 comment(s)
Daz

Yes I love it. This needs to be in the VS IDE too.  It is a much better property grid and once you get used to the expression binding differences, it makes it much better to use and reduces scripting.

7 November, 2018

Please login or register to post comments.