
Today is the day! Silverlight Studio 2011.1 is now released and available for download. This is an enormous new version that not only provides large enhancements to existing products, but adds two new products, and demos the new SyntaxEditor .NET Languages Add-on.
The two new control products, Wizard and Bar Code, are available for free to anyone with an active Silverlight Studio subscription.
Major new features are described below. See the announcement post for the detailed list of enhancements and updates.


New Product
Bar Code for Silverlight is a new product, added in Silverlight Studio 2011.1, and has nearly all the same features as those found in its WPF counterpart. It makes it easy to add 2D and linear bar codes to any Silverlight application or report. Bar codes can be saved to image files or added as a child control in any Silverlight control.
Actipro Bar Code takes all the work out of the bar code generation process by allowing you to simply say what value to encode. It automatically calculates any appropriate checksums and generates the resulting bar code for you. The output is completely customizable with many options, everything from setting the bar height to display of the encoded value below the bar lines.
2D Symbologies
QR Code is a 2D symbology, originally used in automotive manufacturing, that is now used worldwide for a wide variety of purposes. It is readable by most mobile devices with cameras and can be used to display text to a user, add a vCard contact to the user's device, open a URL, or compose a text message or e-mail.

If your mobile device has a 2D bar code scanner app, scan the above code. Your mobile device should direct its browser to our home page.
Linear Symbologies

The most common linear symbologies are all supported, including EAN-13, EAN-8, UPC-A, UPC-E, Code 39 (and full ASCII variant), Code 93 (and full ASCII variant), Code 128, Codabar, Interleaved 2 of 5, and Postnet.

LL(*) Parser Framework Enhancements
An enormous amount of new features have been added to the LL(*) Parser Framework in 2011.1:
- Type-specific AST node (distinct classes for each type of AST node) support.
- Language Designer AST node code generation.
- Language Designer ability to open assemblies that contain multiple parsers.
- New tree constructors.
- New can-match callback helper methods.
- New error reporting methods.
- Parser performance improvements.
See our previous blog post series for details on the new features.
First .NET Languages Add-on Beta
The long-awaited first beta of the Silverlight SyntaxEditor .NET Languages Add-on (sold separately from Silverlight Studio) is now available. Features for both the C# and Visual Basic languages include:
- Abstract syntax tree (AST) generation.
- Over 130 distinct AST node classes.
- Automatic code outlining based on AST structure.
- Reporting and automatic squiggle display of errors for invalid syntax.
- Mouse hover quick info for syntax errors.
- Line commenting.
- Optionally change the parser to parse expressions, statements, etc. instead of compilation units.

The add-on has been extremely well tested and is ready for production use. We only are keeping the beta tag on it until we add automated IntelliPrompt features. We will be working on those in the coming weeks now that the first phase of the add-on is complete.
Web Languages Add-on Updates
The XML schema resolver now supports a default namespace, meaning that a xmlns attribute isn’t required on the XML’s root element to get automated IntelliPrompt to work based on a schema. It also supports the ability to programmatically pre-define other namespace prefix declarations without the need for them to be done in XML by the end user.
Easy Parsing of Text Strings
We’ve added a new SyntaxLanguageParsingExtensions.Parse extension method for ISyntaxLanguage that uses the language's IParser to parse specified text in the calling thread and return the IParseData result. This feature makes it easy to parse a code snippet.
Squiggle Lines at Document End
Squiggle lines now can render at the document end, which is a common syntax error location when typing near the end of a document.
Language Designer Code Generation
The Language Designer has been updated to support the ability to code generate lexical state ID and token ID classes for programmatic lexers.
Performance Enhancements
We’ve implemented some major performance improvements in several areas of the product and in the Web Languages Add-on.

FanPanel Control
The new FanPanel control allows child elements to be positioned in sequential order along the z-axis, while keeping a focal item centered in the view. Additionally, items below or above the focal element can be easily faded, rotated, or offset using customizable properties, providing for some visually appealing layouts.

This screen shows a horizontal layout where the focus item is in the middle and items before and after rotate away and fade out.

In this screen, the items render over the same center point and look similar to albums in Media Player.

In this layout we add a twist to the items. There are many configurable properties that allow you create your own special effects. And as the focal item changes, each item animates to its new position.

New Product
Wizard for Silverlight is the second new product added to Silverlight Studio 2011.1. Wizard dialogs simplify the user experience of applications by taking complex tasks and breaking them up into a series of simple steps. Actipro Wizard is a lightweight control for building these wizard dialogs in Silverlight, while conforming to the Wizard97 specifications.

Its rich designer functionality and straightforward API make it easy to quickly configure wizard pages. Simply create a page, set its page type, caption, description, and start adding controls to it. Special page types are included to support welcome and finish pages. Pages can optionally be data-bound and there is full support for MVVM.
Basic sequential page navigation is enabled by default, and via the use of several properties, more complex page order sequencing can be achieved. Dynamic run-time decisions about which page should come next can also be made via the handling of selected page change events. Optional page history tracking can be enabled so that pressing the back button will revisit the previous pages in the reverse order they were originally visited, even when complex sequencing was used.
Wizard page changes can be animated with a number of built-in transition effects, or even custom transition effects from third-parties such as those found in the open-source Pixel Shader Effects Library. These subtle animations enhance the user experience by adding a visual polish to your applications.

Rating Control
The new Rating control inherits from ItemsControl and renders glyphs that can be used present an average rating or collect a user rating.

By default, attractive star glyphs are used, but these can be easily replaced with any custom glyph. There is also support for both horizontal and vertical orientations.

In this screen for a restaurant review UI, a custom fork glyph is used as the rating item template.
RadioButtonList Control
The new RadioButtonList is a regular ListBox capable of rendering its items as radio buttons. The selected item in the list renders as a checked radio button.

The control supports data binding and other features inherited from ListBox.