Silverlight Studio 2011.1 Released

Announcements Forum

Posted 13 years ago by Actipro Software Support - Cleveland, OH, USA
A major new version of Silverlight Studio is now available that adds two new products and demos the new optional premium SyntaxEditor .NET Languages Add-on.

Detailed Update List

Bar Code

  • First product release.


SyntaxEditor Control
  • Added a new SyntaxLanguageParsingExtensions.Parse extension method that uses the language's IParser to parse specified text in the calling thread and return the IParseData result.
  • Added the AstNodeBase class, which is an abstract base class intended for type-specific AST nodes.
  • Added a DefaultAstNode class that implements IAstNode and can be created within custom ITreeConstructionNode implementations.
  • Made major performance improvements while scanning a snapshot using a reader, and also when performing large replace all operations.
  • Updated parse errors to display squiggles when the parse error occurs at the document end."></ListBoxItem>
    <li>Added a new QuickStart to show watermark rendering in the text area."></ListBoxItem>
    <li>Updated IntelliPrompt completion sessions to allow opening of a new second session in a DocumentTextChanged handler from a first session's commit.
  • Added the ICompletionSession.Context property that stores contextual data about why the session was opened.
  • Added an ICompletionSession.SortItems override that accepts a custom IComparer to do the sorting.
  • Added the CompletionItemSortComparer object, which is the default IComparer sorting implementation.
  • Added the QuickInfoProviderKeys class, which contains the keys for the built-in quick info providers.
  • Added a virtual CollapsedRegionQuickInfoProvider.GetContent method that allows for overriding of the quick info content displayed for collapsed nodes.
  • Improved data binding support via SyntaxEditor.IsTextDataBindingEnabled property to properly handle various binding scenarios.
  • Updated clicks on a selection when setting focus to collapse the selection.
  • Added features to the Language Designer to support generation of lexical state ID and token ID classes for programmatic lexers.
  • Updated the Language Designer so that a property grid drop-down of classification type keys is provided anywhere that classification type keys can be specified.
  • Updated SyntaxEditor automation peer to support setting focus by passing call to first focusable view.
  • Updated internal management of text changes.
  • Updated caret move code when there is a selection.
  • Updated code for moving the caret around intra-text spacers.
  • Fixed a bug where swapping languages may not auto-collapse default collapsed outlining nodes in a certain scenario.
  • Fixed a bug where swapping a document within a SyntaxEditor in a certain scenario may cause an exception in the collapsed region manager code.
  • Fixed a bug where double-clicking on a completion list scrollbar would commit the session.
  • Fixed a bug where the horizontal scrollbar might not properly update when resizing horizontally.
  • Fixed a bug where inactive views might scroll to where edits were made in other views.
  • Fixed a bug where the document AutoCharacterCasing property wasn't working.
  • Fixed a bug where hit testing might not produce correct results when the editor is scrolled horizontally.
  • Fixed a bug where SyntaxEditor would not request the appropriate minimum desired size when not stretched vertically or horizontally.
  • Fixed a bug where hit tests over line terminators didn't indicate a character result.
  • Fixed a bug where switching documents within a SyntaxEditor might throw an exception if decorators (like squiggles) are visible.
LL(*) Parser Framework
  • Added the ITypedTreeConstructionNode interface, which is used to define a tree construction node that can create a type-specific AST node.
  • Updated the Language Designer to support the design and generation of type-specific AST nodes.
  • Updated the Language Designer to support the debugging of assemblies that contain more than one LLParser.
  • Added Ast, AstConditional, and AstFrom method overloads on Grammar that accept type parameters and create type-specific AST nodes.
  • Added a Grammar.AstChildrenFrom method overload that accepts a nesting level parameter, thus allowing for retrieval of nodes two or more levels deep.
  • Added the Grammar.AstCount tree construction node creation method that produces a node whose value is the count of AST nodes generated by child nodes.
  • Added the ParentTreeConstructionNodeBase class, which can be used as the base for a tree construction node that has other tree construction node children.
  • Added the ITokenReader.Push and Pop methods, which when used together allow for infinite look-ahead of tokens.
  • Added the ITokenReader.AreNext method, which is a helper method for determining if the next look-ahead tokens match the specified sequence of token IDs.
  • Added an IParserState.ReportError overload with an IToken parameter, reporting the parse error over the token's range.
  • Added the Symbol.CanMatch method, which returns whether a Terminal or NonTerminal can start to match a given IParserState.
  • Added the Grammar.NonTerminals and Terminals properties.
  • Added the Terminal.CanMatchCallback property, which lets you provide custom code indicating whether a single terminal can match. This is useful for scenarios where you have an identifier token that must have a certain text value, etc.
  • Updated terminal and non-terminal expected parse errors to report on the current line, in scenarios where the look-ahead token is on another later line.
  • Added the LLParserBase.InitializeParserState method that can be used to initialize the IParserState.CustomData property from an IParseRequest's data, right before parsing starts.
  • Made parser performance improvements.
  • Removed Error nodes from being inserted into ASTs when non-terminals failed since they could produce unpredictable results when later consuming the AST.
  • BREAK: Removed the EmptyTreeConstructionNode class. Use the TreeConstructionNodeBase or ParentTreeConstructionNodeBase classes as base classes for custom tree construction nodes instead.
.NET Languages Add-on
  • First beta release, with code outlining, parsing, AST construction, syntax error reporting, and more for C# and Visual Basic documents (automated IntelliPrompt will be added in future builds).
  • Added several samples to show off the add-on.
Web Languages Add-on
  • Made massive performance improvements when typing and showing IntelliPrompt in larger documents.
  • Added the IXmlSchemaResolver.DefaultNamespace and DefaultNamespacePrefixMappings properties which allows for xmlns-style namespace declarations to be made without the need for xmlns attributes in the root element.


  • Added new FanPanel control and demo.
  • Added new IsAnimated attached property to disable panel animations on a per element basis.


  • First product release.

Shared Library

  • Added new Rating control and associated samples.
  • Added new RadioButtonList control and associated samples.
  • Fixed issue with exception being raised when quickly toggling TransitionPresenter.Content between two elements.

About Silverlight Studio

Silverlight Studio Benefits

All Silverlight Studio licenses automatically include a free subscription for a year of free upgrades to any new versions that are released. At the end of the year, you may renew your license for another year to keep the free upgrade benefits active.

In addition, you are automatically eligible to receive free licenses for any new Silverlight control products added to Silverlight Studio that come out within your year period. Please note that SyntaxEditor language add-ons are sold separately, even though they are demoed in Silverlight Studio.

Wherever possible our Silverlight Studio products share codebases with the corresponding WPF Studio products, making it easy to transition code between the platforms.

Live Demo

You can give all our lastest Silverlight control products a spin right in your browser as long as you have Silverlight 4 installed. Just follow the steps on this page to see live demos:

Download an Evaluation

You can download an evaluation of all our Silverlight controls from this page:

Free Upgrades to 2011.1

If you own an older Silverlight Studio version and would like to upgrade to this latest version, please click the request a free upgrade link on your Organzation Purchases page. The link will appear there if your upgrade eligibility is active.

Actipro Software Support