As you may know, we are a few months away from our next major release (v21.2). In this post, I’ll summarize WPF-related features/capabilities available in our upcoming Early Access (EAP) build, and preview additional WPF and WinUI features we expect to ship in November.
If you own an active DevExpress Universal or DXperience Subscription, you can download and install our v21.2 Early Access Preview (EAP) today. Visit the DownloadManager page to obtain the EAP build.
And please remember - your feedback matters. Once you’ve installed the EAP and had the opportunity to explore its capabilities, reach out to us via the DevExpress Support Center and tell us how we can improve our implementation and better serve your business needs going forward.
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.
Perhaps most importantly, this EAP may 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.
Table of Contents
- WinUI Development Update
- New XAML Designer Extensions for VS2022 and .NET 5
- Remote Desktop Performance Enhancements
- ARM64 Support
- Accessibility
- Data Grid and TreeList
- New Windows 10 Dark Theme
- SVG Enhancements
- Charts and Maps
- Upcoming Features
- .NET 6 Support
- Visual Studio 2022 Support
- Windows 11 Support
- New Heat Map Control
- Data Grid & TreeList - New CRUD API
- Spreadsheet, Rich Text Editor, and PDF Viewer - Accessible PDF Export
- Spreadsheet, Rich Text Editor - Custom Font Loading Engine
- Spreadsheet - Set Print Options in Print Preview
- More Quick Action Enhancements for new XAML Designer
- Best Practices, Examples & Documentation
WinUI Development Update
We expect to release a new version of DevExpress WinUI components later this year. The new build will include the following new features/capabilities:
- New WinUI Report Viewer
- WinUI Data Grid - Printing & Export
- WinUI Data Grid - New Optimized Templates
- WinUI Data Grid - Horizontal Virtualization
The DevExpress WinUI 3 component suite is available free-of-charge for a limited-time. If you have yet to register your free copy, please visit the page below at your convenience.
Includes: DataGrid, Scheduler, Ribbon Toolbar, Data Editors, Gauge Indicators, Range Control,
and over 10 Chart types.
New XAML Designer Extensions for VS2022 and .NET 5
Visual Studio uses a new XAML designer for .NET Core, .NET 5, and .NET 6 WPF projects. The same designer is also used for .NET Framework-powered WPF projects within Visual Studio 2022.
v21.2 will include the following extensions to our new XAML Designer.
Chart Designer
The DevExpress Chart Designer is implemented as a separate window and allows you to create new and customize existing charts with ease.
Report Designer - Expressions
We extended the Report Designer and improved its user experience when defining expression bindings:
- A new button (with a formula-f symbol) is now displayed next to the selected control. This button allows you to invoke the Expression Editor instantly.
- The Properties panel within the Report Designer now highlights “bindable” properties with a formula (f) symbol. A “colored” formula (f) symbol indicates that a property is bound to data:
Mask Editor
The DevExpress Mask Editor allows you to quickly create and customize masks of any complexity at design time.
Quick Action Enhancements
- Improved startup performance for dialogs and wizards activated via Quick Actions.
- Added new actions that generate a Ribbon UI for our WPF Spreadsheet, Rich Text Editor, and Scheduler components.
Remote Desktop Performance Enhancements
Our theme cache engine - enabled by default for all built-in and custom WPF themes - now supports multiple sign in/sign out operations. This new option enhances the performance of all WPF apps developed with DevExpress components. Performance gains are especially significant for applications executed remotely (using tools such as Microsoft Remote Desktop Services or Citrix), where sign in/sign out operations are more common.
To help visualize performance related benefits associated with this enhancement, we measured how long it takes to render a WPF Spreadsheet control normally and after sign in/sign out:
ARM64 Support
x86 apps built with v21.2 DevExpress WPF components can successfully execute on ARM64 devices.
Accessibility
Screen Reader Support for Validation Errors
Accessibility-related features now include validation support. Screen readers can now inform a user of validation errors within focused WPF editors and data cells.
Visual Studio and Office Themes - Enhanced Contrast Palettes
Our enhanced Contrast palettes use carefully selected color combinations to help individuals with vision impairment distinguish text, borders, selection states, and other visual elements.
Enhanced Contrast palettes are available for the following themes:
Data Grid and TreeList
MVVM Command API
Our WPF Data Grid and TreeList components include a new set of command properties:
- AddingNewNodeCommand
- CustomNodeFilterCommand
- CustomUnboundColumnDataCommand
- CellMergeCommand
- CellValueChangedCommand
- CellValueChangingCommand
- InitNewRowCommand
- InitNewNodeCommand
- InvalidRowExceptionCommand
- NodeChangedCommand
- ValidateCellCommand
These properties act as counterparts to standard events and allow developers to shape data and react to user input at the ViewModel level without writing code in the View.
<dxg:GridControl CustomUnboundColumnDataCommand="{Binding UnboundColumnDataCommand}">
[Command]
public void UnboundColumnData(DevExpress.Mvvm.Xpf.UnboundColumnRowArgs args) {
if(args.IsGetData) {
Product item = (Product)args.Item;
args.Value = item.UnitPrice * item.UnitsOnOrder;
}
}
Lock TreeList Updates
Our WPF TreeList allows you to fully lock calculations and tree hierarchy updates within it.
public void UpdateSource() {
TreeListControl.View.BeginDataUpdate(true);
//update source
TreeListControl.View.EndDataUpdate();
}
As you might expect, this new API will help improve performance for large data sets (when/if large record sets must be updated simultaneously).
New Windows 10 Dark Theme
This release includes a new Win10Dark theme – a theme that was inspired by the dark mode in Windows 10. Much like the Win10Light theme, the Win10Dark theme will automatically update its colors after each change to an accent color in Windows.
In addition, applications developed with DevExpress WPF controls can automatically switch between Win10Dark and Win10Light themes when a user selects the light or dark app mode within the OS.
Windows 10 Themes | Windows 10 Accent Color and App Mode
SVG Enhancements
Our internal SVG image parser can now display raster images embedded in SVG.
Charts and Maps
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
.
If you’re an active Universal or DXperience subscriber, and have installed our EAP, select one of the following to explore this feature in greater detail: Empty Points
Maps - Create Lines, Polylines and Polygons from a View Model (MVVM Enhancements)
In our on-going effort to enhance our MVVM bindings, we extended ListSourceDataAdapter to generate lines, polylines, and polygons from a collection of coordinates in a View Model.
We added two new mapping types (MapLineMappingInfo and MapMultipointItemMappingInfo) for lines and multi-point shapes (MapPolylines and MapPolygons).
Documentation: MapLineMappingInfo | MapMultipointItemMappingInfo
If you’re an active Universal or DXperience subscriber, and have installed our EAP, use the following link to explore this feature in greater detail: Map Arrows
Maps - Lambert Azimuthal Equal-Area Projections
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.
If you’re an active Universal or DXperience subscriber, and have installed our EAP, select one of the following to explore this feature in greater detail: Map Projections
Upcoming Features
Though the following features are not included in our first EAP, we expect to include them in our next preview or our first beta.
.NET 6 Support
DevExpress WPF controls will support the latest Preview build of .NET 6.
Visual Studio 2022 Support
We expect to add DevExpress WPF Project & Item Templates, menu items, Toolbox items, and XAML designer extensions for Visual Studio 2022 Preview.
Windows 11 Support
We will make certain that apps built with DevExpress WPF components function properly on Windows 11 devices.
New Heat Map Control
A new Heatmap Control that visualizes data in tabular format through variations in coloring.
Data Grid & TreeList - New CRUD API
New events & commands will simplify CRUD operations:
- Row editing - start, finish & cancellation across all edit modes (inline editing, Edit Entire Row, Edit Form).
- Deletion of selected rows & synchronization of deleted rows with the database.
- Refresh operations for regular, asynchronous, and server-side data sources.
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.
Spreadsheet, Rich Text Editor - Custom Font Loading Engine
Our WPF Spreadsheet and Rich Text Editor 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.
Spreadsheet - 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.
More Quick Action Enhancements for the new XAML Designer
- New actions to generate Data Grid columns.
- The Conditional Formatting Editor dialog.
Best Practices, Examples & Documentation
All help articles will be updated to reflect specifics related to .NET Core, .NET 5, and .NET 6. The majority of code examples will have a .NET version alongside a .NET Framework counterpart.
We also expect to publish best practices and examples for the following topics:
- Dependency Injection with DevExpress controls.
- MVVM in Reporting.
- Performance enhancements for the Data Grid.
- CRUD implementation in the Data Grid.
Your Feedback Counts
As always, we welcome your feedback. Please post your comments below or create a new support ticket if you've beta tested our Early Access Preview.