Chart Features - Grouped Axis

by Avatar Bill Henning (Actipro)
Tuesday, May 14, 2013 at 7:51am


In the latest WPF and Silverlight controls maintenance releases, we've added some important functionality to our Charts product. In the initial release, we could chart quantifiable values (such as numerics and DateTime) on a Cartesian axis. Now we've added the ability to chart strings and other complex types using our new XYGroupedAxis.

Grouped Axis Example

Take this complex type as an example:

class Transaction {
    public double Price { get; set; }
    public string SalesPersonName { get; set; }

Given we have a collection of Transaction objects on our data context...

public ObservableCollection<Transaction> Transactions;

...then we can bind our BarSeries.ItemsSource to the collection of Transactions. The primary axis is our numeric value (Price), and the secondary axis is our string (SalesPersonName). Those are specified using YPath and XPath, respectively.

        <BarSeries ItemsSource={Binding Transactions} 
                    XPath="SalesPersonName" YPath="Price"/>

If our transaction data looks like this:

















Now our chart will look like so:


Notice how on the x-axis, the strings are grouped by equality. So all transactions for Marcus, Mary, and Steve are grouped into single bars. Also notice how on the primary axis, the numeric values are summed together for each group. So for Mary, who had transactions of 300 + 50 + 100, the grouped value becomes 450.

Further Customization

There are several customization options -- you can change how items are grouped by setting XYGroupedAxis.GroupingFunc. XYGroupedAxis.LabelFunc controls how groups are labeled, and XYGroupedAxis.SortingFunc controls how groups are sorted. Using these, we can take the data above and group by the first letter of the name:


Here, notice that grouping is done by comparing the first letter of the name, rather than equality of the entire string. LabelFunc has been specified to show the first letter. Note how the values for Mary and Marcus get summed together on the Y axis.


XYGroupedAxis allows you to provide custom logic to chart complex types easily. Download the free trials of our WPF or Silverlight controls and check it out!

This same functionality will also be coming to the WinRT XAML version of Charts in its next release.

TaskDownload TaskLiveDemo TaskBuyNow

Silverlight Controls 2013.1 Build 151 Released

by Avatar Bill Henning (Actipro)
Wednesday, May 8, 2013 at 7:59am


Silverlight Studio 2013.1 build 151 has been released and is now available for download.  Several great new enhancements are part of this build.

This build has the following major new features:

  • Charts: Added the ability to provide strings and complex types as chart data using the new XYGroupedAxis.
  • Charts: Added support for multilevel XPath and YPath.
  • SyntaxEditor: Added new auto-correct features, with a pre-defined AutoCaseCorrector language service for performing character case correction.  Easily add auto-case correct features to custom languages.
  • SyntaxEditor: Updated the sample VB, VBScript, and PowerShell languages to perform auto-case correction.
  • SyntaxEditor: Added new code block selection features, which let languages that implement an ICodeBlockFinder service expand/contract the selection to logical code blocks via Ctrl+Num+ and Ctrl+Num-.
  • SyntaxEditor: Added a new free Markdown syntax language definition.
  • SyntaxEditor: Made performance improvements in numerous areas.
  • SyntaxEditor .NET Languages Add-on: Added an IAutoCorrector language service implementation for VB that case corrects keywords.
  • SyntaxEditor .NET Languages Add-on: Added ICodeBlockFinder language service implementations for C# and VB.
  • SyntaxEditor .NET Languages Add-on: Updated the resolver to handle the implicit value parameter in property setters.
  • SyntaxEditor .NET Languages Add-on: Improved the C# text formatter.
  • SyntaxEditor Web Languages Add-on: Added ICodeBlockFinder language service implementations for XML.

See the announcement post for the detailed list of enhancements and updates.

TaskDownload TaskLiveDemo TaskBuyNow

Chart Features - Axes

by Avatar Bill Henning (Actipro)
Monday, April 15, 2013 at 9:31am


The recent 2013.1 versions of our WPF, Silverlight, and WinRT XAML controls added full-size charts products.axis1

One feature of our new Charts products are axes. Axes allow you to visualize the value range of your chart by labeling values.

Minimum and Maximum Values

Changing axis values such as Minimum and Maximum will determine what data displays on your chart and where. Here is the same data displayed in two charts. In the first, Minimum and Maximum are determined automatically.


In the second one, they are set manually to arbitrary values.


Axis Positioning

We have several capabilities to help you achieve the right look and feel for your application. The first is axis positioning, where you can place axes on either end of the chart.


Tick Intervals

Next is the ability to set the tick intervals. Here, we see two of the same chart. In the first, tick intervals are set to one month.


In the second, tick intervals are set to three months.



You can show major and minor ticks, and our grid feature allows you to extend those ticks behind the chart surface.


Styling Ticks

You can also style ticks to match your application.


Axis Labels

Axes can show labels on each major tick, and also a title. The angle of the labels is adjustable for when you need to put long labels on a small chart.



These are just a sample of some of the options available. There are a ton more. Download the trial and check it out!

TaskDownload TaskLiveDemo TaskBuyNow

WinRT XAML Controls 2013.1 Released

by Avatar Bill Henning (Actipro)
Thursday, April 11, 2013 at 3:45pm


Today we released the 2013.1 version of our WinRT XAML controls, which contains the complete implementation of our new full-size Charts product.


Charts for WinRT XAML gives you the ability to embed great-looking area, line, scatter, and bar charts in your Windows 8/RT apps.  Use our new Charts controls to build touch-friendly dashboards and reports.  The controls share the same codebase with our WPF and Silverlight Charts products, allowing for easy porting of code between platforms.


Advanced features include easy binding to any data source, multiple series, data aggregation, bar chart data slotting, legends, data point labels, baseline, axes, grid lines/stripes, ranges, and numerous palettes.


Moving Forward

We're very happy to have the 2013.1 version released and moving forward will be adding more features to the Charts product.  We also are working on porting SyntaxEditor to the WinRT XAML platform and will post news on that in the future here.

Enjoy the new controls!

TaskDownload TaskLiveDemo TaskBuyNow

WPF Controls 2013.1 Released

by Avatar Bill Henning (Actipro) - 2 comments
Wednesday, March 20, 2013 at 12:04pm


Actipro WPF Controls 2013.1 have been released and is now available for download. This version adds a new full-size Charts product, a Metro Dark theme, a complete reimagining of the Sample Browser's UI, and some great new SyntaxEditor functionality.

Major new features are described below.  See the announcement post for the detailed list of enhancements and updates.


Our new full-size Charts product has been added, allowing you to create stunning charts for your apps.  See this announcement post and this first look post for a couple other chart screenshots.

Line Charts


A line chart renders quantitative data as a series of points connected by line segments. Lines can be straight, curved, or stepped. Markers can optionally be displayed based on type (such as first/last, high/low, negative, etc.).

Scatter Charts


Scatter charts render data points where each point is represented by a marker. Markers can use numerous built-in shapes or can be set to use custom shapes.

Area Charts


An area chart is a derivative of a line chart, where the area between the line and axis is filled in. As with line charts, areas can also be rendered using straight, curved, or stepped lines

Bar Charts


A bar chart displays rectangular bars with lengths proportional to the values they represent. Bar spacing can be set and the bars can be changed to render horizontally instead.




A rich object model for supporting indicators has been added.  Indicators are special "tagged" regions of text that optionally display a glyph in the indicator margin and optionally highlight the text range with special styles.  Built-in indicators include bookmarks, breakpoints, and current statement indicators.  Custom indicators can easily be created as well.

See this bookmark indictors post and this debugging indicators post for much more detail on indicators and examples of functionality.

Line Terminator Backgrounds

When a style that has a background encompasses a line terminator, it now will render the background of the line terminator's virtual character.

A new property BackgroundSpansVirtualSpace property has been added to highlighting styles that when set to true, will extend the background over a line terminator to cover all the way to the right edge of the view.

Trim All Trailing Whitespace

A new edit action has been added to trim all trailing whitespace in the entire document, regardless of the current selection.

CollectionTagger<T> Enhancements

The CollectionTagger<T> class has received a large number of new methods that make it easier than ever to manage a collection of tagged regions.

.NET Languages Add-on - Text Formatting

Text formatters have been added to the C# and VB languages in the .NET Languages Add-on, which beautify code by adjusting whitespace and making it more readable.


See this C# text formatter post and this VB text formatter post for more information and examples of the formatting results.

.NET Languages Add-on - Attribute IntelliPrompt


Full automated IntelliPrompt while editing C# and VB attributes is now included.

.NET Languages Add-on - Implicit Variable Type IntelliPrompt

Automated IntelliPrompt quick info now displays when hovering over var in C# or Dim in VB.


See this blog post for some more information and screenshots.


Metro Dark Theme

A Metro Dark theme has been implemented that renders similar to Visual Studio 2012's dark theme.  This new theme affects all controls and even can apply to native WPF controls.


Actipro Themes for WPF now provides implementations of all system themes, three Office themes, and three Metro themes!

See this blog post showing several screenshots of the new Metro Dark theme in action.

TaskDownload TaskLiveDemo TaskBuyNow