Quantcast
Channel: Developer Express Inc.
Viewing all articles
Browse latest Browse all 2370

WinForms — Year-End Roadmap (v23.2)

$
0
0

This blog post outlines some of our WinForms-related development plans for the second half of 2023 (v23.2). As you will see below, key focus areas will be accessibility support and .NET 8. Both are crucial and both will require substantial development resources.

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. 

.NET 8 Support

Simple and straight to the point: We will support .NET 8 across our WinForms product line.

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).

Accessibility and UI Automation

Accessibility support will be incorporated in the following WinForms UI components:

  • GanttConttol
  • RichEditControl
  • SpreadSheet
  • DiagramControl
  • StepProgressBar
  • ChartControl
  • DocumentViewer

In addition, we expect to enhance accessibility support across our complete range of WinForms UI components.

You can find more information about general accessibility principles on the following pageAccessibility. 

Keyboard Focus and Navigation

Proper keyboard navigation is crucial for accessible applications. We expect to extend keyboard-related capabilities so users can control functionality without the use of a pointing device.

UI Automation

As you may know, WinForms controls create an automation tree to allow screen readers and other assistive technologies to interact with an application. Additionally, the tree allows you to create automated tests and avoid application regressions. We expect to support and fine-tune automation tree support for many of our WinForms components in this release cycle.

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 WinForms Localization tool.

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


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 & Tree List Enhancements

Tree List Collection Aggregate Functions

As you may know, our WinForms Data Grid allows you to create filters with collection aggregation functions: Count, Min, Max, Average, Sum, Exists. With v23.2, you will be able to use these functions in TreeList collection properties.

Cancelling Selection

We will introduce APIs to better control selection logic in the DevExpress Data Gird and Tree List. You will be able to cancel item selection based on custom logic.

Serialization Customization

We will extend our serialization APIs to control properties serialized by the Data Grid, Tree List and Vertical Grid. This enhancement will allow you to only retain required information in a layout file and avoid serialization settings if you don’t wish to persist them on the next app run.

treeList.PropertySerializing += (s, e) => {
    if(e.Owner is TreeListColumn && e.PropertyName == "Caption")
        e.Allow = DefaultBoolean.False;
};

Vertical Grid Customization Form

We will enhance the DevExpress Vertical Grid’s customization form to help users view rows and categories in one tree, find rows using search, and display/hide rows and categories as requirements dictate.

HTML & CSS Templates

As you may know, our WinForms HTML & CSS Template engine allows you to create highly polished interfaces in any WinForms project.

In v23.2, we expect to enhance HTML & CSS-related capabilities as follows:

  • Introduce accessibility support with ARIA attributes.
  • Selection and size calculation of Unicode surrogate pairs.
  • Text auto format and pseudo class IntelliSence support within the HTML & CSS Editor.

Note: In our last major update (v23.1), we incorporated pre-built templates directly into our HTML & CSS Editor (to help you get started more quickly).

Font Icon Images

Windows 10/11 contains numerous font icons (“Segoe MDL2 Assets" and "Segoe Fluent Icons" fonts). With v23.2, you will be able to use these icons with ImageOptions and SVG support.

MVVM-Related Enhancements

As you may know, Microsoft’s .NET 7 update introduced the Command property for controls such as Button and introduced new MVVM capabilities: Using Command Binding in Windows Forms apps to go Cross-Platform. While we already have a command binding engine, we will implement the Command property (for all WinForms components) for better compatibility with Microsoft’s new mechanism.
We will also augment the UI generation mechanism in our Data Layout Control. This change will allow you to automatically generate buttons based on view model commands.

Your Feedback Matters

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).

Viewing all articles
Browse latest Browse all 2370

Trending Articles