Silverlight Controls 2013.1 Released

by Avatar Bill Henning (Actipro)
Wednesday, March 20, 2013 at 11:54am


Actipro Silverlight Controls 2013.1 has been released and is now available for download. This version adds a new full-size Charts product, 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.

Note:  Version 2013.1 updates the Silverlight controls to target the Silverlight 5 platform.


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.

TextFormattingMode Support

SyntaxEditor's text rendering has been updated to support Silverlight 5's TextOptions.TextFormattingMode property setting.  This feature allows for improved text clarity.

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.

TaskDownload TaskLiveDemo TaskBuyNow

SyntaxEditor .NET Languages Add-on Var and Dim Quick Info

by Avatar Bill Henning (Actipro)
Tuesday, January 8, 2013 at 2:00pm


We're working on new features for our 2013.1 control releases and today I'd like to show off a new feature coming to the WPF and Silverlight .NET Languages Add-on in that version.

C# Var Quick Info

As seen in the screenshot below, hovering over var keywords will now show the resolved type.


In this case, the resolved type for the randomNumbers variable is List<int>, which we aliased to Int32List above in the usings.

Visual Basic Dim Quick Info

Similar features have been added for the Dim keyword in VB.


In this screenshot, the j variable is being assigned an Int32.


These features will be in the 2013.1 versions of the WPF and Silverlight SyntaxEditor .NET Languages Add-on.

TaskDownload TaskLiveDemo TaskBuyNow

SyntaxEditor Navigable Symbol Selector Part 2

by Avatar Bill Henning (Actipro)
Wednesday, July 11, 2012 at 8:51am


In our previous post, we talked about the new NavigableSymbolSelector control being added to the next 2012.1 builds of SyntaxEditor for WPF and Silverlight.

To sum up, the control implements drop-down lists that can be wired up to a SyntaxEditor and will list available symbols within the document.  As the caret moves, the drop-down selection is updated.  The end user can select a symbol from a drop-down and the editor caret will navigate to that symbol.  All of this functionality is very similar to the type/member drop-downs found in Visual Studio. 

Best of all, this functionality can easily be implemented for any custom language.  The last post showed an example of using the control for a custom language.  In this post, we'll take a look at the built-in implementation for the C# and VB languages found in the .NET Languages Add-on.


Here's how the NavigableSymbolSelector control looks when bound to a SyntaxEditor that has the .NET Languages Add-on's C# language loaded:


There are two drop-downs present.  The one on the left shows the types and the one on the right shows the members within the currently-selected type. 


As we move the caret around, the drop-downs update their selections.  In this screenshot we can see the members that are defined in the ConsoleWriter class, which is being edited in the SyntaxEditor.  Note how the members render their representations using C# syntax.

Next, let's look at the Visual Basic language's implementation:


Here you can see the drop-down selections are tracking the caret's location and are rendering their content in VB syntax. 

This screenshot also shows a special feature only found in the WPF implementation.  If the caret is outside of a symbol, the text will appear grayed out.  Note how the caret is inside the Program class declaration but is outside of the Main method declaration.  Thus the Main symbol is grayed out.  This helps the end user visualize better whether they are actually within, or just near, a symbol.


These new features will be in the next 2012.1 builds of our WPF and Silverlight controls.

TaskDownload TaskLiveDemo TaskBuyNow

SyntaxEditor Navigable Symbol Selector Part 1

by Avatar Bill Henning (Actipro)
Monday, July 9, 2012 at 1:09pm


Our next 2012.1 builds of SyntaxEditor for WPF and Silverlight will be adding a new ancillary control to the SyntaxEditor product:  NavigableSymbolSelector.

Navigable Symbols

Navigable symbols are symbols declared within a document to which the end user may wish to move their caret.  For instance in a language such as C#, navigable symbols would be things like type and member declarations.

A new language service has been added that can optionally be implemented.  Its only task is to return navigable symbols for a document that uses the language.  It's implemented in such a way that a multi-level hierarchy of navigable symbols can be created.

This sort of feature can be used to help drive the UI of external controls such as a type/member drop-down or even a document outline treeview.  These sort of external controls can help the end user visualize a document's structure, and the content for each item in the controls can fully utilize rich markup (images, colors, etc.).

NavigableSymbolSelector Control

The new NavigableSymbolSelector control is our implementation of a control similar to Visual Studio's type/member drop-downs.  It attaches to a SyntaxEditor instance and checks to see if the language supports the new INavigableSymbolProvider service.  If so, it uses that service to populate its drop-down(s).

A "Simple" Language Sample

Let's see how this looks in our "Simple" language sample.  We've updated one of our Getting Started series samples to implement this new service and show drop-down UI (via NavigableSymbolSelector) within a toolbar:


For our "Simple" language, we've told the NavigableSymbolSelector to show a single drop-down, which will render the list of functions declared in the editor.

Run-Time Functionality

Basically if we do these simple tasks:

  • Add a NavigableSymbolSelector control to the UI.
  • Bind it to a SyntaxEditor instance.
  • Implement the INavigableSymbolProvider language service on the current language.

We get all this functionality for free from the NavigableSymbolSelector control:

  • Automatic display of all symbols defined in the current document, that updates as document changes occur.
  • Symbols are sorted alphabetically within the drop-down.
  • As the editor caret moves, the selected symbol in the drop-down is automatically updated to be the closest enclosing or nearby symbol.
  • When the end user clicks on a different symbol in the drop-down, the caret navigates to that symbol declaration.
  • When the caret is not directly within a symbol's declaration but is near one, it will appear grayed out.  This helps the end user visualize whether they are actually in a valid symbol declaration or not.  (WPF only)

We've designed this control to work directly with the new INavigableSymbolProvider language service.  This allows any custom language to fully support the control.


These new features will be in the next 2012.1 builds of our WPF and Silverlight controls.

By default the control displays two drop-downs, and we'll show this in our next blog post, where we demonstrate the implementation of the INavigableSymbolProvider language service and usage of the new NavigableSymbolSelector control with our .NET Languages Add-on's languages.

TaskDownload TaskLiveDemo TaskBuyNow