WinForms — Early Access Preview (v21.2)

WinForms Team Blog
09 September 2021

Our next major release (v21.2) is just around the corner and all active DevExpress Universal or DXperience subscribers can explore our newest features months before official release. Point your browser to the DevExpress Download Manager and download our WinForms Early Access Preview (EAP) v21.2 build to review the features outlined in this blog post.

Early Access and CTP builds are provided solely for early testing purposes and are not ready for production use. This build can be installed side by side with other major versions of DevExpress products. Please backup your project and important data before installing Early Access and CTP builds.

Please remember that this EAP does not include all features/products we expect to ship in our v21.2 release cycle. We are working hard to finalize all v21.2 features/capabilities and once we have more information to share, we’ll post updates on this channel.

HTML & CSS Templates

The DevExpress WinForms 2021 Roadmap briefly outlined our plans regarding HTML & CSS template support. In this v21.2 EAP build, you will find four primary updates to our HTML-CSS Template engine:

  • HtmlTemplateControl — a brand-new control designed to render the template assigned to it. You can use it to create a variety of UI elements including buttons, toolbars, search panels, etc.
  • HtmlTemplatePopup — like the HtmlTemplateControl, this new component renders HTML-CSS templates, and displays results as a pop-up menu.
  • ItemsView for the DevExpress WinForms Data Grid control — a Data Grid View compatible with web templates. This View has no default data representation. Its appearance and record layout is driven by the template assigned to it.
  • Template support for existing DevExpress controls. The Data Grid Tile View and Gantt Control are the UI first controls with built-in web template support (more are on the way).

We've used these four items to construct a new "Chat Client App" demo (available in the DevExpress WinForms Demo Center and on GitHub). This demo simulates a chat client application and was built almost exclusively with HTML-CSS templates.

We expect to extend HTML-CSS template support over the next year and to:

  • Increase the number of DevExpress controls that support templates. WinExplorerView, Scheduler and Tree List are among the first candidates for future upgrade.
  • Increase the number of supported HTML tags. At present, our internal engine only supports a limited set of HTML tags. As such, you cannot simply copy complex HTML layouts found on the web and paste it into our controls. Of course, our ultimate objective is to deliver parity between DevExpress WinForms templates and native HTML markup. For now, you can use the following small trick to check whether your template is compatible with our controls: insert it into the HtmlTemplateControl designer and its built-in syntax editor will highlight unsupported tags and values.

  • We will also continue to evolve our WinForms Demo Center module to better explain how to use web mark-up and demonstrate how to leverage its potential to design UI elements within your app (and share sample templates with others).

Data Grid

In addition to HTML-CSS features mentioned above (templates support for the Tile View and our brand-new Items View), this EAP includes Search mode support for our recently introduced column in-header search box. In our previous major release, this option was only available in Filter mode — values that did not match entered strings were hidden. In v21.2, you can set the OptionsFilter.InHeaderSearchMode property to "TextSearch". When InHeaderSearchMode is set to "TextSearch", our WinForms Data Grid highlights matching values and leaves non-matching values visible.

End-users can press Ctrl+Up/Ctrl+Down or F3/Shift+F3 to navigate between matching records.

This new search feature is limited to matches within visible data rows (collapsed and group rows are ignored). This feature is also limited to client (non-server) mode and is recommended for data sources with 100,000 rows or less.

Gantt Control

You can now use HTML-CSS templates to customize the appearance of the following Gantt Control elements:

  • Tasks, Summaries, and Milestones
  • Regular and Summary Task Progresses
  • Regular, Summary and Milestone Task Baselines
  • Text Labels
  • Interaction tooltips
  • Split Tasks

To create a template, use the editor dialog (invoked when you click the ellipsis button next to the GanttControl.HtmlTemplates property in Visual Studio Property Grid). When your template is ready, handle the GanttControl.QueryItemTemplate event to assign it to a required element type.

void GanttControl1_QueryItemTemplate(object sender, QueryItemTemplateEventArgs e) {
    switch(e.ItemType) {
        case GanttChartItemType.Task:
        case GanttChartItemType.SummaryTask:
            e.Template.Assign(template1);
            break;
        case GanttChartItemType.Progress:
        case GanttChartItemType.SummaryTaskProgress:
            e.Template.Assign(template2);
            break;
        case GanttChartItemType.TextLabel:
            e.Template.Assign(template3);
            break;
    }
}

Windows 11 Support

Microsoft is rolling out Windows 11 later this year, and as you might expect, we're doing everything possible to ensure compatibility with Microsoft’s newest OS. In addition to compatibility-related considerations, we’ve also updated our UI to better match the Windows 11 user experience. Your DevExpress forms will now include rounded corners to match the look and feel of Windows 11. Note: This change applies to applications using both vector and raster skins.

These updated forms do not have shadows/skinned borders when using Office-inspired skins. We'd love to hear your feedback on the appearance of this new window (whether you think certain skins should ship with standard square corners). Note that you can always modify the static WindowsFormsSetting.AllowRoundedWindowCorners setting to manually control the appearance of form corners (this setting is functional only in apps running on Windows 11).

Diagrams

The DevExpress WinForms v21.2 EAP allows you to use the designer to configure the WinForms Diagram Control in .NET.

Scheduler

With our v21.2 EAP, you will be able to set custom appointment or column widths as needs dictate.

Column width is specified by the View.ColumnWidth property. The View.ColumnWidthMode property must be set to "Fixed". In this mode, you can enable the View.AppointmentDisplayOptions.StretchAppointments property so that appointments stretch horizontally to occupy the entire column width.

To specify the custom appointment width, use the View.AppointmentDisplayOptions.AppointmentWidth property. This setup is available when the View.ColumnWidthMode is set to "Auto". You can modify the View.AppointmentDisplayOptions.StretchAppointments property to specify whether rightmost appointments ignore custom width settings and occupy free column space.

These settings are available in Day, Work Week and Full Week Views, and only when appointments are not groupped by dates.

Charts - Customizable Empty Points

The DevExpress Chart Control can process gaps in a data source as empty points (points with undefined values). These gaps can now be visualized using different style options (based on Series view type). You can fully customize the appearance of point markers, line and area segments used to display empty points.

You can also draw “mock” points instead of gaps (based on values of neighboring Series points). To use this feature, set the series view’s EmptyPointOptions.ProcessPoints property to Interpolate.

Documentation: Empty Points (WinForms)

Demo: Empty Points (WinForms)

Charts - Fast (Swift) Point Series

We added a new lightweight Swift Point Series optimized to quickly render large data sets as a scatter (XY) plot.

The following chart summarizes the benefits of a Swift Point versus a regular Point Series with default settings enabled:

Documentation: SwiftPointSeriesView

Demo: Swift Point View (WinForms)

New Heat Map Control

v21.2 includes a new WinForms Heatmap Control that you can use to plot heatmap charts. Heatmaps help visualize data using a tabular layout (through color variations).

The following is a summary of Heatmap related features included in this release:

  • Binding to various data source types
  • Unbound mode support
  • Multiple coloring algorithms
  • Zoom and scroll operation support
  • Cell highlighting modes
  • Tooltip support
  • Titles
  • Cell labels

Documentation: HeatmapControl

Demo: Heatmap - Color Providers

Maps - Lambert Azimuthal Equal-Area projection support

This release includes support for a new projection type – the European Terrestrial Reference System 1989 - Lambert azimuthal equal-area (ETRS89-LAEA) projection. To enable this new projection, set the GeoMapCoordinateSystem.Projection property to "Etrs89LambertAzimuthalEqualAreaProjection".

You can use this projection to display European Union (EU) maps with minimal distortion.

Demo: Map Projections (WinForms)

Reports

WinForms Report Viewer - DirectX Support

Our WinForms Document Viewer control now supports DirectX rendering for both user interface elements and the report document. The benefits of DirectX rendering are numerous and include:

  • Up to 80% faster document rendering
  • Smoother scrolling experience
  • Enhanced responsiveness in multi-page mode
  • Enhanced glyph rendering quality thanks to DirectWrite

The following videos help demonstrate the power of DirectX rendering:

Localization - Translation Strings CSV Import/Export

You are now able to export report localization strings to a CSV file and use it to translate report elements with the help of third-party services. In addition, our Localization Editor can import translations made within a CSV file and apply it to a report.

PDF Content - Embed PDFs into Report Pages

The XRPdfContent report control exposes a new GenerateOwnPages property – a property that manages operation mode. This control can act like a subreport when the property is disabled. With the help of a control placeholder, you can limit the area to scale and embed PDF files directly into your report.

This new mode will be useful when:

  • You need to embed PDF file content into a report with common headers/footers (headers/footers will be printed on PDF file pages as well).
  • You need to print specific content (pictures, bar codes, page numbers, a report watermark) over the contents of your PDF file.
  • You need to design a pre-printed form and use a PDF file as a watermark.
  • You need to create a report document with an A4 paper kind and include a PDF file with different page dimensions.
If you’ve yet to explore the capabilities of the XRPdfContent report control, refer to the following article for more information: Reporting - Merge PDF Documents into Your Report (v20.1).

Upcoming Features

While the following features/capabilities did not make our first EAP, they will ship in our v21.2 release cycle.

Office-Inspired UI Controls (DevExpress Spreadsheet, Rich Text Editor, and PDF Viewer)

Accessible PDF Export

Our upcoming release will allow you to export your spreadsheet and rich text documents to tagged (accessible) PDF files. We expect to fully support PDF/A-1a, PDF/A-2a, PDF/A-3a, and PDF/UA standards. You will be able to generate accessible PDFs in code or via user interface elements.

Custom Font Loading Engine

Our desktop Rich Text Editor and Spreadsheet controls (v21.2) will allow you to use fonts not installed on a given system. This feature allows you to avoid font substitution when you display, print, or export (to PDF) documents with non-standard fonts. You will be able to load necessary fonts from files, streams, or byte arrays. These fonts will be available to all instances of the DevExpress Spreadsheet and Rich Text Editor within a given project.

Set Print Options in Print Preview

v21.2 will add a new Settings pane to the Spreadsheet control’s Print Preview window. This pane will allow you to specify the following print-related settings:

  • Select spreadsheet content to print. You will be able to print the entire workbook or a specific portion of your document.
  • Specify the number of copies to print.
  • Customize page settings (document orientation, paper size, and page margins).
  • Define scaling options.

File Dialogs

We expect to release a stand-alone component that tweaks DevExpress WinForms Data Grid, Tree List, and Breadcrumb Editor controls so that you could use them to create custom file & folder managers.


Your Feedback Matters

As always, we welcome your thoughts and feedback. Please comment below or submit a support ticket via the DevExpress Support Center for more information on what we have planned for v21.2.

Free DevExpress Products - Get Your Copy Today

The following free DevExpress product offers remain available. Should you have any questions about the free offers below, please submit a ticket via the DevExpress Support Center at your convenience. We'll be happy to follow-up.
No Comments

Please login or register to post comments.