What's new in WPF Elements 7
WPF Elements 7.0 now targets .Net framework 4.0. The main additions are the heatmap chart series, DataGrid filtering and DataGrid aggregates. You can read more information about these additions here. There have also been many other feature additions, improvements and bug fixes which are listed in the change log in the documentation that ships with WPF Elements.
Heatmap series
The heatmap series takes an array of data and displays it as an image based on a color gradient that you provide. The heatmap series has been built with high performance in mind and is capable of rendering thousands of changing data points in real time.
DataGrid filtering
The DataGrid now includes various UI options for filtering data columns. Filtering can be enabled by setting just a couple of properties. The DataGrid will do all the work for you by selecting the best editors to use for filtering the type of data in each column. Further properties are available for making custom changes to the filtering feature.
DataGrid aggregates
Aggregates are the results of functions applied to all the data in a single column. For example, the sum or average of all the data, the largest or smallest value or simply the number of rows. The DataGrid can easily be setup to display aggregates in the DataGrid footer, or/and in the headers of grouped rows. The most common aggregates are included in WPF Elements, and custom aggregates can be provided by implementing a simple interface.
New in WPF Elements 6.0
WPF Elements 6.0 includes a huge amount of improvements, features, performance enhancements, bug fixes and a couple of new controls. This page lists all the major changes.
Ribbon control
The main new control in WPF Elements 6.0 is the Ribbon control. This control is inspired by the Microsoft Office applications and serves as a replacement for the out-dated Menu control. All the main commands for your application can be exposed in the Ribbon as controls such as buttons, ComboBoxes and Galleries. Controls can be categorized in a tree-like structure for easy discoverability. The Ribbon control uses a smart layout algorithm to optimize the arrangement of the controls within the available space.
Included with the Ribbon control is the Gallery control which provides a way for users to select items from a list right within the Ribbon control.The items can be templated in any way and can optionally be categorized.
Axis arrangement features
The chart axes have a couple of new properties that let you position them on any side of the chart and reverse the scale.
Improved DateTime axis support
DateTimes have always been supported, but now the axis is more smart about how it spaces out the tickmarks and labels. Based on the visible range of data, an appropriate date-time interval is selected such as 3 months, or 2 days, or 6 hours etc. As the chart zooms, the date-time interval dynamically changes so the axis labels always looks great and easy to read. This logic is also fully customizable.
Tornado charts
A new feature in the existing BarSeries class makes it easy to create tornado charts.
Right aligned numbers in DataGrid
A common way to display numbers in a table is to have them right aligned within their cells. A new display template option in the DataGrid makes this simple.
PropertyGrid style improvements
In all themes of the PropertyGrid, the property names are now left aligned and indented to make it easier to read hierarchical data, lists and nested objects. More animations have also been included.
Charting features and improvements
- Added ChartAxis.LabelSpacing property to set the logical spacing between axis labels to be different than tick mark spacing.
- Added TickMarkOffset and LabelOffset properties for fine adjustments of the tick mark and label positioning.
- Added routed event: DataSeries.IsSelectedChangedEvent.
- Added PointSeriesBase.SymbolSize property to make it easy to change the size of data point symbols.
- Added StripeLine class. This allows developers to add individual labeled stripes/lines to the background of a Chart.
- ChartAxis Padding feature.
- Chart control now supports IBindingList as an ItemsSource.
- Added IntervalUnit and IntervalMagnitude properties to the DateTimeAxisValueConverter class. This is for overriding the automatic interval calculation.
- Added FloatingBarSeries.BarRenderingMode to achieve overlapping floating bars.
- Added BarSeries.BarRenderingMode property to create Tornado charts.
- Added DataSeriesSelected event to Chart, raised when a new series has been clicked on.
- Added ChartMouseRightButtonDown and ChartMouseRightButtonUp events.
- Added DataSeries.SelectedItem property.
- Added SelectedDataSeriesChangedEventArgs.PreviouseSelectedDataSeries property.
- Added Chart.CanToggleSelection property.
- Added Chart.CanDeselectOnClickNothing property.
- Added Chart.IsRightClickSelectionEnabled property.
- Made the X and Y axis alignments pixel perfect.
- Performance improvements in chart controls.
- Improved the positioning of pie/doughnut chart labels.
- In a chart with large ammounts of data and missing data points, All missing data points are now considered when rendering.
DataGrid features and improvements
- Added DataGrid.SkipGroupHeadersWhenNavigating property.
- Added DataGrid.IsRightClickSelectionEnabled property.
- Added DataGrid.GroupRowHeaderTemplate property. This is for adding custom content within the left margin of a group row header.
- Added DataGrid.HierarchyMode property. This allows you to specify whether hierarchical data is expanded or collapsed when loaded.
- Added DataGridColumn.IsAlwaysInEditMode property.
- Added DataGrid Expand and Collapse methods for controlling hierarchical items.
- Added hooks for custom can-expand DataGrid logic.
- Frozen DataGrid rows feature.
- Added DataGridColumn.IsVisible property.
- Added DataGrid.ShowFrozenLine property which can be used to totally hide the frozen line.
- Added a property for setting the delimiter for the DataGrid CSV exporter.
- Added option to DataGrid exporter to only save the user selected items instead of the entire DataGrid.
- Added a property IsColumnHeaderExported to Data Grid exporter, to turn on/off the exporting of headers to CSV.
- Added DataGrid.IsSynchronizedWithCurrentItem property.
- Added DataGrid.SelectionChanged event.
- Added DataGrid.MouseOverCell property and MouseOverCellChanged event for getting the DataGrid cell the mouse is currently over.
- Added DataGrid.AutoColumnWidthBehavior property.
- Added DataGridColumn.MaxAutoWidth property.
- Added DataGrid.CanAutoSizeColumnHeaders property.
- Added DataGrid.RowIsExpandedChanged event.
- Setting DataGrid.IsPagerVisible to null will set the visibility of the pager automatically depending on if there is 1 or more than 1 pages.
- Setting the Width and MinWidth of a DataGridColumn to zero now hides the column.
- Double clicking a row will toggle the hierarchical expanded state if applicable.
- DataGrid now supports DataView as an items source.
Other additions
- Support for custom recurring schedule item implementations.
- Improved the Scheduler dialog box styles.
- Option to display HSV color sliders in the ChannelColorPicker control.
- Added S and V properties to the HsvColorPicker and similar controls.
- Added DualSlider.IsReversed property.
- Added CoverFlow.TransitionDuration property for customizing the speed of the animations.
- Added PropertyGrid.IsExpandedStatePersistent feature.
- The PropertyGrid now respects the IList.IsFixedSize property.
- More Generic collection support for the PropertyGrid.
- Added buttons in PropertyGrid themes to clear the search.
- PropertyGrid now supports TypeConverter.GetStandardValuesExclusive().
- Added TimeExplorer.CanEditRangeMagnitude property.
- Added Minor and MajorRangeButtonsVisibility properties to the TimeExplorer.
- Added AutoCompleteBox.ShowAllSuggestions method.
- Added AutoCompleteBox.IsSuggestionListExclusive property, which when true, forces the final value to be one of the suggestions.
- Improved the usage behavior of the AutoCompleteBox.
- NumericTextBox now supports standard/scientific notation.
- The RichTextToolBar now supports keyboard short cuts.
New in WPF Elements 5.1
WPF Elements 5 is a massive update to the collection and ships with a wide range of new controls, improvements, bug fixes and performance enhancements. This page lists the major changes; hundreds more are contained within.
Data Grid
WPF Elements 5 debuts the super fast Datagrid control. With its highly tuned virtualization core the Datagrid can display millions of entries while remaining highly responsive. Full support for standard WPF data binding is available, as well as extensive support for styling and custom editors. A rich set of options are available for customization including sorting, frozen columns, paging controls and much more.
Time Explorer
The new Time Explorer control makes it easy to select a date range relative to plotted data. A range can be selected by dragging the mouse, or using the scroll bars. The explorer can be zoomed using the mouse wheel. Any cartesian chart can easily be embedded within the Time Explorer.
Autocomplete Editor improvements
The Autocomplete Editor box now allows multiple entries to be entered while repeatedly displaying the suggestion drop-down box. Entries can be separated with whitespace or commas.
Theme updates
Dozens of fixes and improvements have been applied to all five included themes which are now offered free of charge, so make sure you check them out.
All new color pickers
WPF Elements 5 includes several great new ways to select colors, and dozens of palettes to select them from. Menu items can be added (for instance buttons or popups) allowing your users fast access to related commands. The new HSV color picker can be embedded inside one of these, for instance.
New chart types - polar charts
Polar charts show data using radius and distance from a centre point, instead of X-Y coordinates. Polar line, polar scatter and polar bubble charts are supported, which allow data to be displayed in a striking way without implying sequence.
Performance tuning and bugfixes
Hundreds of small improvements have been made across all controls ensuring they perform lightning quick and remain highly stable. In particular the rendering of all charts and the Scheduler control has been significantly improved, and the built-in themes have been refactored resulting in further performance enhancements across all controls.
New in WPF Elements 4.1
Performance improvements
WPF Elements 5 benefits from all the performance tuning done across the Silverlight Elements and Phone Elements products. Bringing the performance required to run silky smooth controls on a resource constrainted device such as a cell phone up to our WPF product line means WPF Element 5 is blazingly fast!
New chart types - rose charts
Rose charts are the polar equivalent of bar charts. They're a striking way to present data sets where the elements are cyclical, such as monthly values, or where the order isn't important. WPF Elements can do normal rose charts or stacked rose charts (the latter shown here).
New chart types - radar charts
Radar charts are the polar equivalent of area charts. They're a great way for users to compare different aspects of data sets, for example to draw out the relative strengths and weaknesses of two products or plans. Overall WPF Elements 5 includes 12 polar chart types including polar line, polar scatter and polar spline series.
Charting improvement: step improvements
We've made a whole bunch of improvements to chart axes. For example, label frequency can differ from axis marker frequency to help deal with larger numbers of marker labels in an attractive way. This can be specified easily in the XAML mark up for any chart. Of course, if labels were to overlap the WPF Elements Charts will automatically skip labels by default to ensure charts are readable.
Charting improvement: title visibility improvements
Another nice simple axis enhancement is control over the axis title visibility. Easily configured in XAML or code.
Charting improvement: minimum range specification
Also on chart axes, you specify the minimum range a user can zoom into on a per-axis basis.