WPF Controls - 2019 Roadmap

WPF Team Blog
24 January 2019

As many of you know, last year we published a series of blog posts soliciting feedback on our 2019 Roadmap:

With your help, we were able to finalize our plans for this year. Thank you for your continued support. Here is our official 2019 WPF Roadmap…

Important Note: In nearly every instance, we selected features/products that received the highest vote count. In many instances, total votes for features that appear on this roadmap failed to break the 50% mark. This does not mean that the feature/product did not win the vote - it simply means that it received a plurality - not a majority.

Table of Contents

.NET Core 3 Support

Our WPF controls support .NET Core 3 Preview (v18.2.4). Throughout 2019, .NET Core 3 will remain a primary focus area. Together with Microsoft, we will work on known issues and change our control implementation where necessary. Our goal is to provide you with a stable and well-tested component set by the time .NET Core 3 is released.

New Controls

Breadcrumb (v19.1)

We will be working on a new Breadcrumb control in 2019. It will help simplify app navigation and allow you to construct hierarchical navigation paths.

Time Picker (v19.1)

Our new Time Picker control will allow you to edit time values. It will be a standalone control that can also be integrated into our existing DateEdit.

TimeSpan Editor (v19.1)

TimeSpanEdit is a text box that allows you to edit TimeSpan values (duration). You will be able to use it as a standalone editor or within container controls such as the DevExpress WPF Data Grid and WPF Gantt.

We have yet to finalize plans for the TimeSpanEdit control and are not certain whether it will ship with a dropdown (in addition to a text box). Let us know whether you’d like to see a dropdown for this control in the comments section.

Autocomplete Editor (v19.2)

This feature received 44% of the vote in our survey.

Will allow you to select text or objects from a dynamic list of suggested matches. The AutoComplete Editor will provide an event that expects you to return a list of matches based on entered text.

Data Grid & Tree List – Common Features

Filter Editor – New Design, Customization API, and more (v19.1)

In our v18.2 release cycle, we released a new Filter Editor. We plan to extend and improve this control in 2019 with the following features:

  • A hierarchy for bands or nested properties in the field selector
  • Advanced customization API
  • Support for Aggregate operations (e.g., "Accounts.Sum(Amount) < 100")

We will also modify the Filter Editor’s appearance and give it a more modern look & feel:

Once these enhancements are complete, we will use the new Filter Editor in the WPF Pivot Grid and DevExpress Reports.

Grouped Filters (v19.1)

With Grouped Filters, you will be able to display values from multiple columns in the Excel-style Filter Dropdown.

Conditional Formatting Filters (v19.1)

Conditional Formatting Filters will be available both in the Filter Dropdown and Filter Editor. They will allow you to filter data based on Conditional Formatting rules defined for a column.

We will also create a dedicated Filter Element for Conditional Formatting Filters.

Search Enhancements (v19.1)

The Search Panel will display the total number of matches and the index of the current match. We will rework the Search Panel’s buttons to make them more compact.

We have some ideas for search performance optimization. If all goes well, the search will work significantly faster in grids with many columns and rows.

“No Records” Text Block (v19.1)

This is a small but often requested feature – the Data Grid and Tree List will display a text block in the data area when it displays no records, or if a filter/search query yielded no results.

New Filter Panel (v19.2)

We hope to improve the DevExpress WPF Filter Panel to make it more intuitive and easier to use. Currently, it displays a string representation of applied filters (as plain text). This approach works well for simple filters with one or two filter clauses. Complex filters are hard to read and will be truncated if they don’t fit on-screen. The new Filter Panel will display separate tokens with filters for every column (making it easier to read and manage). If an applied filter does not fit within the screen area, tokens will be collapsed and will display detailed information in a popup.

Summary for Selection (v19.2)

This feature received 28% of the vote in our survey.

You will be able to define summary items and display summary values for selected rows/cells.

Explicit Post Mode (v19.2)

This feature received 28% of the vote in our survey.

In this new editing mode, the Data Grid and Tree List will display the Save button next to an edited row. End-users will need to save their changes after editing before navigating away.

Tree List

New Item Row (v19.1)

The WPF TreeList will display an additional empty row at the top or bottom. You will be able to enter data into the empty row to create new nodes and then drag them anywhere in your hierarchy.

New Filter Mode (v19.1)

With our new filter mode, the Tree List will display all child nodes when their parent nodes meet the applied filter criteria.

IsEnabled CheckBox Binding (v19.1)

You will be able to disable node check boxes for specific nodes based on your business logic.

Pivot Grid

Excel-style Filter Dropdown (v19.1)

Our WPF Pivot Grid will support a new Excel-Style filter dropdown. It will allow you to search for filter values, select multiple values simultaneously, and display values from multiple columns in a hierarchy. You will also be able to define more complex filters for a given column using the Rules tab.

New Filter Editor (v19.1)

The Pivot Grid will use the new Filter Editor developed for the Data Grid. It will support all new filtering features (record count display, predefined filters, aggregate operations), will be more customizable and modern in appearance.

Intermediate Level Aggregates and Window Calculations (v19.1 or v19.2)

This feature was planned for 2018, but we were unable to complete it in time last year. 
The Pivot Grid’s new data processing engine will allow us to incorporate Intermediate Aggregates and Window Calculations out of the box. You will be able to configure both using a simple API and exploit the data processing engine’s built-in performance optimizations.
With Intermediate Aggregation, you will be able to use a new "Aggr" function. This function temporarily groups raw data by a set of dimensions and calculates a summary expression. This helps to answer questions such as: “What are the best and worst selling products in a given year?”, “How many days per month are profitable?”, etc.
Window Calculations allow you to display values calculated from existing data based on a defined rule. The following rules will be available by default: Percent of Total, Running Totals, Ranks, Moving Averages, Difference, Percentage Difference. As you might expect, you will be able to create custom rules with your own calculation logic as needed.

New Filter Panel (v19.2)

Like the Data Grid and Tree List, the Pivot Grid will feature a new Filter Panel that displays filter clauses for different columns as removable tokens. The new Filter Panel can collapse tokens and display more information within a dropdown.

Themes

Office 2019 Themes (v19.1)

We will release a set of Office 2019-inspired themes for our WPF controls. Like other modern themes, they will ship with lightweight templates for our most popular controls and will support color palette customization in the Theme Designer.

Color Presets (v19.1)

Office 2019 themes will introduce a new concept to our WPF themes – Color Presets. Themes that support Color Presets will be able to switch their color scheme dynamically at runtime (much like our WinForms Bezier theme). This will allow you to use one theme with an unlimited number of color presets. It will help you extend end-users options without affecting the size of the deployed package.

Theme Designer Enhancements (v19.1 and v19.2)

Since appearance and personalization is a popular request, our team will continue to improve our Theme Designer tool. We expect to introduce the following enhancements in v19.1:

  • An incremental build process that significantly reduces the time to build a theme.
  • A Command Line Interface to compile custom themes on a build server.

In v19.2, we plan to work on the following most voted features for the Theme Designer:

  • A Live Visual Tree for the Preview window (received 32% of the vote). 
  • A Property Grid to edit properties of an element selected in the Preview (received 31% of the vote). 

Fluent Design – Acrylic Material and Reveal Highlight Effect (v19.1 or v19.2)

We will support the following Fluent Design elements in 2019: Acrylic material and Reveal Highlight effect. We will implement these features for our Themed Window and Hamburger Menu controls so you can deliver apps that mimic the user interface of Microsoft’s Windows 10 Mail app.

Fluent Design Theme (TBD)

This feature received 31% of the vote in our survey.

Many of you voted for themes with a modern look and feel and low-density UI (Fluent Design and Material).  We will research how our templates can be modified to incorporate Fluent Design across most of our controls by the end of 2019. 

Charting

Rendering Performance Enhancements (v19.1 and v19.2)

Atop our list of priorities is speed – we want to improve data rendering efficiency throughout 2019.

Histogram Series (v19.1)

This feature received 45% of the vote in our survey.

This Series view is useful when representing the distribution of numeric data via bars of equal width. Each bar displays the number of values that fall into consecutive, non-overlapping intervals of a variable.

Series Segment Colorizer (v19.1)

At present, our WPF Chart control ships with an advanced appearance customization engine for Series and individual Series points. You can either use a set of predefined palettes or configure the Chart Colorizer and assign fixed colors to chart elements as needed. We plan to extend this functionality and allow users to define the segment color of the same Line Series without manually splitting it into separate Series items.

Built-in Drill-Down (v19.1)

This feature will allow you to enable drill-down capabilities by configuring chart layout settings in design mode without writing any custom code.

New Axis Alignment Option (v19.1)

The axis will intercept another primary axis at zero.

Summary Functions (v19.1)

A set of common summary functions that can be applied to Series point values for data-bound Series:
  • minimum ("MIN")
  • maximum ("MAX")
  • sum ("SUM")
  • average ("AVERAGE")
  • count ("COUNT")

Waterfall Series (v19.2)

This feature received 45% of the vote in our survey.

Based on a start value, a Waterfall сhart displays the cumulative effect of sequentially added positive and negative values.

BoxPlot (v19.2)

Box plots are used to display the distribution of data through quartiles.

TimeSpan Axis Scale Type (v19.2)

This feature received 36% of the vote in our survey.

The TimeSpan scale type will represent the values or arguments of series points as TimeSpan values on an axis.

Advanced Text Formatter for Crosshair Panel (v19.2)

Ability to specify Crosshair label width and alignment.

Office-Inspired Products

Office File API for .NET Core (v19.1 and v19.2)

This feature received 45% of the vote in our survey.

In our v19.1 release cycle, we expect to release our Office File API for .NET Core on Windows. Office File API functionality for .NET Core will also be available on Linux with the following limitations: 

  • Embedded font support for PDF files (planned for v19.2).
  • RTL support in Word Processing API (planned for v19.2).
  • Conversion of PDF content to bitmap images (not planned at the moment).

PDF Export - Embedded OpenType Font Support (v19.1)

  • Spreadsheet
  • Rich Text Edit
  • Word Processing Document API
  • Spreadsheet Document API (Universal subscription)
We will allow you to embed OpenType fonts into an exported PDF document to make certain that the document is displayed correctly on machines where these fonts are not installed.

Theme Fonts (v19.1)

  • Rich Text Edit
  • Word Processing Document API

This feature is important for RTL document editing. Applicable for existing documents only.

Optimized Printing and Layout Calculation Engine (v19.1)

  • Spreadsheet Document API (Universal subscription)

This feature received 21% of the vote in our survey.

This optimized engine will help us improve printing and layout accuracy of Spreadsheet documents.

Simplified Formula Generation (v19.1)

  • Spreadsheet

Use cell ranges from other worksheets and select referenced cells using arrow keys when creating or editing formulas.

Non-Embedded CID Fonts with Predefined Encoding (v19.1)

  • PDF Viewer
  • PDF Document API (Universal subscription)

PDF documents containing non-embedded CID fonts with predefined encoding will be supported in our PDF viewer and our PDF document API.

Change Tracking (v19.2)

  • Rich Text Edit
  • Word Processing Document API

This feature received 21% of the vote in our survey.

With change tracking, your users will have the ability to accept/reject individual changes within a document. This release will include Add, Delete and Move change types.

Multiple Signatures – PDF (v19.2)

  • PDF Document API (Universal subscription)

We hope to introduce multiple signature support for PDF documents.

Ribbon

Office 2019 Style and Simplified Ribbon (v19.1)

Our Ribbon control will introduce a new Office 2019 style that that closely matches the Ribbon in latest Microsoft products. We will also ship a Simplified Ribbon option, allowing you to collapse the Classic Ribbon into a single row.

By default, the Simplified Ribbon will use the same set of Bar Items defined for the Classic Ribbon. You won’t need to write any additional code to use it.

Scheduler

Printing (v19.1)

We expect to rework our WPF Scheduler’s print functionality. This will include a new WPF Preview window, updated printing templates, customization API, and more.

Design Changes – Outlook-inspired UI (v19.1)

The Scheduler’s UI will change so that it is more modern and matches the user experience of Microsoft Outlook. The enhancements we hope to ship in 2019 include:

  • Resource headers will look like tabs and will use resource colors.
  • Date headers will also use resource colors and will look slightly different.
  • Appointments will use resource colors if no label is specified.
  • Navigation buttons will look different and will also use resource colors.
  • Empty cells will look the same for all resources (white in most themes).
  • We will add a header with the current date and navigation buttons at the top.

Clipboard Support (v19.1)

The Scheduler will support Cut, Copy, and Paste operations within one control, between controls in the same application, and between multiple applications using the Scheduler.

Special Slots (v19.2)

Special slots will allow you to define dates or time areas and highlight them on the Scheduler’s surface.

Gantt

Task Interaction (v19.1)

You will be able to drag-and-drop tasks to change Start Date, resize tasks to change Duration, change task Progress, and draw a line from one task to another to create a dependency.

Worktime Duration (v19.1)

The Gantt control will take non-working hours and holidays into account when calculating task duration. For example, with the default configuration, a task with a Duration of 16 hours will span two days on the timeline and will display ‘2 days’ in the tree list area.

Striplines (v19.1)

The Gantt control will allow you to highlight specific regions in the Gantt area to indicate an event or an important event (a weekly meeting, release date, etc).

Automatic Task Scheduling (v19.1 or v19.2)

This functionality is crucial for proper data editing in the Gantt control. Whenever you update a task or load a data source with incomplete data into the Gantt control, the Gantt control will automatically calculate Start/Finish dates for all dependent tasks. For example, you will be able to create a set of dependent tasks and define how much time is needed to complete each task. The Gantt control will then arrange tasks on the timeline and decide when each task should start and end.

Dependency Lag (v19.1 or v19.2)

Every dependency will include an optional Lag value (positive or negative) that indicates the amount of time that should pass before the dependency affects a connected task.

Editing Enhancements (v19.1 or v19.2)

We will create dedicated editors for the Duration and Predecessors columns in the Tree List area so that end-users can easily enter TimeSpan values and select predecessor tasks from a dropdown list.

Critical Path (v19.1 or v19.2)

The Gantt control will automatically calculate and highlight the critical path in the Gantt area. The critical path will automatically update whenever you move tasks or change duration and progress.

Diagram

Collapsible Containers (v19.1)

Container items will display an Expand/Collapse button in their headers so that end-users can display/hide container content.

This feature is useful in Entity Relationship diagrams where containers represent tables or classes (where members should be invisible).

Another popular usage scenario for collapsible containers involves items with complex content (multiple text fields, images, or both). Our Data Binding and Org Chart controllers use Containers to generate such items. With the Collapsible Containers, you will be able to generate items that display more content when expanded. For example, Org Chart cards that only show employee name by default, along with a photo with a description when expanded.

Export to PDF (v19.1)

It is already possible to print your diagrams to PDF using the Windows 10 PDF printer. However, the PDF printer is not an option if you want to automatically save your diagram to PDF and push it to the database. Many of you requested a built-in PDF export engine that will work even if the PDF printer is not installed and will not require your users to invoke the Print dialog.

The new built-in engine will export the diagram to a PDF file as a vector image with no raster elements (you don’t have to worry about scaling issues). It will also recognize all text elements. You will be able to select and copy text in the PDF file or add text annotations.

Printing – Fit to Page (v19.1)

By default, the Diagram control prints its content in the same way it is displayed on document pages. If content spans multiple pages, it will be printed on multiple pages as well. After printing, you will need to piece pages together to see the diagram as it was displayed on screen. This behavior is useful for large diagrams and can also be seen in other applications such as Microsoft Visio.

The Fit to Page feature allows users to scale a diagram and fit it onto a single page or fixed number of pages.

Start and End Connector Labels (v19.2)

Currently, you can only display one label at the center of the connector. This feature will allow you to display start and end labels with information about a relationship or a connected item.

Automatic Org Chart Layout (v19.2)

Organizational charts often use a standard Tree layout but arrange the last few layers of items vertically to free up horizontal space. We will improve our Tree layout algorithm so that you can specify which layers in the tree should be arranged vertically.

Mapping

Shape Image Element (v19.2)

You will be able to use external raster images linked to geolocation as a background in the Map Control. These images typically display more detailed maps for specific areas and replace maps used by the default map provider.

Vector Shape Simplification (v19.1)

You will be able to simplify vector shapes loaded into the Map Control by reducing the number of data points. This can help you remove redundant information and modify shapes more easily.

Built-in Measurement Tools (v19.1 and v19.2)

We will implement API methods for most common tasks such as distance measurement and area calculation. A custom toolbar will be released for end-users in v19.2.

In-Memory Tile Image (v19.2)

At present, custom map providers work with images loaded from files. This feature will make it possible to display custom tile images without saving them locally.

Reporting

New Report Designer Features (v19.1)

  • Combine Multiple Reports into One
    We will give you the ability to combine multiple reports within the Report Designer, allow you to define print order and print all as a single document. This will address limitations associated with report merging (which is only available at runtime).
  • Create Hierarchical Data Reports
    We will give you the ability to create hierarchical data reports (tree structures) and define the offset of a given band’s content based on nesting level.
  • Create and Store Band Templates using the Report Gallery
    This will allow your customers to share gallery content and to generate reports with unified headers or footers.

XRPivotGrid: Advanced Cross-Tab Reports (v19.1)

We will provide a new way to create cross-tab reports using an enhanced version of XRPivotGrid report control. This will allow you to use expression bindings to calculate data and define the appearance of each visual element within a cross-tab report without writing code.

JsonDataSource: Authentication Support (v19.1)

You’ll be able to provide basic authentication settings, custom header values and custom query parameters.

XRControl Enhancements (v19.1)

  • XRLabel: HTML-Inspired Text Formatting
    We will allow you to format content in XRLabel using a subset of pseudo-HTML tags currently supported by our WinForms controls.
  • XRCheckBox: SVG Glyphs
    We will allow you to change the default glyph associated with XRCheckBox using a pre-defined SVG glyph list. 

Report Designer: Data Federation (v19.1 and v19.2)

This feature received 55% of the vote in our survey.
You’ll be able to define the relationship between different data source tables, queries, sheets and object lists.

PDF Export: Visual Signatures (v19.2)

You’ll be able to define visual signatures displayed in an exported PDF file using a new report control.

Printing Markdown Content (v19.2)

This feature received 57% of the vote in our survey. 
You’ll be able to pass Markdown markup to a special report control. This control will use HTML conversion to display Markdown content in a printed or exported document.

Rounded Corners (v19.2)

This feature received 32% of the vote in our survey. 
You’ll be able to define a corner radius for the borders of the XRLabel, XRPanel, and XRTable controls.

New Report Designer Features (v19.2)

  • Re-order Detail Reports in Report Explorer
    This feature received 31% of the vote in our survey. 
    You’ll be able to move an entire detail report if it was created at the wrong report hierarchy level.
  • Embed PDF Documents into a Report Document
    This feature received 44% of the vote in our survey. 
    You’ll be able to insert a PDF file into a report and define its content boundaries within a document.
  • Move Bands to a "Background” Layer
    This feature received 31% of the vote in our survey. 
    You’ll be able to combine multiple bands so that content is rendered in a more compact manner.
  • Display Empty Table Rows after Existing Data
    This feature received 21% of the vote in our survey. 
    You’ll be able to repeat empty rows until the bottom of the page is reached (to conform to a report’s structure).

Report Parameter Enhancements (v19.2)

  • Date Range Parameter
    This feature received 26% of the vote in our survey. 
    You’ll be able to create a date range parameter and select its value at runtime using a single editor in the parameter panel.
  • Date and Time Parameters
    This feature received 21% of the vote in our survey.
    You’ll be able to create a date or time parameter.
  • Parameter Editor Grouping
    This feature received 20% of the vote in our survey.
    You’ll be able to logically group multiple report parameters in the parameter panel (display editors in a Group Box).
  • Visibility of Parameter Editors
    This feature received 19% of the vote in our survey.
    You’ll be able to hide a parameter editor based on the value of a different parameter.

As always, we welcome your feedback. Feel free to leave a comment and let us know what you think of our 2019 WPF Roadmap.

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.

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.