WPF — Year-End Roadmap (v23.2)

WPF Team Blog
29 August 2023

The WPF features/capabilities outlined in this post represent our development priorities for the second half of 2023. Should you have questions about the features/capabilities outlined herein, please post comments in the survey below. Your feedback is welcome and appreciated.

The information contained within this blog post details our current/projected development plans. Please note that this information is being shared for INFORMATIONAL PURPOSES ONLY and does not represent a binding commitment on the part of Developer Express Inc. This roadmap and the features/products listed within it are subject to change. You should not rely on or use this information to help make a purchase decision about Developer Express Inc products.

Lightweight Themes with Optimized Cold Start, View Switch and Memory Usage

Structure Finalization – Release to Manufacturing (RTM)

As you may know, our last major update (v23.1) included lightweight themes with numerous performance-related optimizations. These optimizations yielded the following performance gains/memory use improvements:

  • Startup performance: 20-40%
  • Switch between Views: 10-25%
  • Memory Footprint: 40-50%
DevExpress startup optimization

With v23.2, we will complete work on our updated WPF theme architecture so you can leverage the benefits of our optimizations without risk of a breaking change in future updates.

Windows 11 Themes

Our WPF library currently supports the following lightweight themes:

  • Win10 (Light, Dark, System, System Colors)
  • Office2019 (Colorful, Black, High Contrast, System)
  • VS2019 (Blue, Light, Dark, System)

In v23.2, we will complement this list with a new Windows 11 lightweight theme.

DevExpress Windows 11 Light Theme

Theme Resources – Preload

In enterprise applications, view switching speed is often more important than application startup speed. With v23.2, we expect to load theme resources when an application starts. You can display a splash screen and load appropriate resources so that DevExpress-powered views start faster when users open them for the first time. This will speed up first tab switching, navigation, window opening, and address other usage scenarios.

.NET 8 Support

You will be able to use our WPF product line with Microsoft’s latest framework and tooling. We expect to support .NET 8 when released later this year.

End of .NET Standard 2 Support

With our next major update v23.2 (December 2023), our assemblies will not be built against this target. Learn more about this change in the following blog post: .NET — .NET Standard 2.0 Deprecation, Support for .NET 6 or .NET 8 (LTS) in DevExpress Libraries (v23.2).

Localization

We expect to streamline localization-related processes, with focus on the following:

  • Effortless identification of non-translated strings in your application: You will be able to focus solely on the strings requiring translation in your application. You won't need to search for a string in the entire localization string dataset.
  • Leveraging RESX Files for localization: you will be able to use familiar RESX files to store and manage your localization strings, ensuring more straightforward integration with your existing localization processes.
  • Direct string translation: you will be able to modify strings that are not present in localization assemblies directly in our Localization tool.

Our new Localization tool will help you translate non-localized strings during a debug session:

DevExpress localization tool

In addition, you will be able to use our enhanced localization API to log non-translated strings, and use custom RESX files:

//Log non-translated strings 
private void XtraLocalizer_QueryLocalizedStringNonTranslated(object sender, XtraLocalizer.QueryLocalizedStringEventArgs e) { 
    Debug.WriteLine(e.ResourceStringID); 
} 

//Use a ResourceManager from your project to apply strings from your RESX files 
XtraLocalizer.UserResourceManager = MyResources.ResourceManager; 

Data Grid

Selector Column in Master Grids

A selector column allows you to select a single/all rows in our WPF Grid using Check Boxes. As you may know, selector columns are not supported in master grids, however we expect to address this limitation in v23.2.

Master-Detail Selector Column

Highlight Special Characters in Search Results

Our Data Gird Search Panel allows you to search text using special characters, such as percent and minus. However, if you need to find data items with these characters, the Search Panel won’t work because all special characters are excluded from text search. In v23.2, you will be able to use escape symbols to use special characters as simple text.

Preventing Focus Change

We will introduce a CurrentItemChanging event to help prevent focusing Data Grid rows based on conditions. This will help you implement a disabled row effect and solve other usage scenarios (when users must not interact with a certain subset of rows).

Command to Delete Selected Rows

For better MVVM support, we will add a command to remove rows selected by a user. You will be able to bind this command to a button and get rid of code-behind (removing the rows from the source in one batch action without excessive updates).

Image Editing

We expect to enhance our Image Editor so users can load an image and modify it based on the format required in your application. The control will include the following features:

  • Zoom
  • Pan
  • Crop
  • Rotate

Editor Embedded Labels

In views with little horizontal space, you may find it useful to incorporate editor labels directly into the editor border.

This technique is widely used in Material Design 3 and can help you freshen app appearance with little dev effort.

WPF Editor Embedded Labels

Date Edit – Default Value

When the Date Edit is empty and a user begins to enter a value, the Date Edit mask automatically populates all date-related sections (month, day, year) based on today’s date. In v23.2, we will add a property to change the default date value based on application requirements.

Themed Window Full Height Navigation Panel

In modern applications, developers often create a navigation panel that overlaps the window title. You can find this design pattern in our demos, where we used a custom solution to implement this functionality:

This technique produces a more effective navigation panel and helps use window title space more efficiently.
In v23.2, you will be able to add a full height panel to our ThemedWindow.

Window Full Height Panel

Diagram Control – UI Automation

As you may know, Automation UI peers and patterns, allow screen readers and other assistive technologies to communicate with your application. We will implement Automation UI patterns for DiagramControl items to help you create accessible applications and create appropriate automation tests.

WPF DiagramControl Automation UI

Your Feedback Matters

Before we let you go – please take a moment to complete this short survey. Your feedback is invaluable.

What's New in v23.1

If you have yet to review the features/capabilities introduced in our most recent major update, please visit the following webpage and let us know what you think of this release by responding to our online survey: Explore Our Newest Features (v23.1).

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.