
We’re very pleased to announce that WPF Studio 2011.2 build 550 has been released and is now available for download.
This version has enormous updates for all products that unifies and improves how theming is done, and provides optional themes for native WPF controls that look great next to Actipro controls, thus facilitating consistent app-wide themes. SyntaxEditor also has received numerous new highly-requested feature areas such as IntelliPrompt parameter info, single-line edit mode, code fragments, and drag and drop.
Major new features are described below. See the announcement post for the detailed list of enhancements and updates.


Stunning App-Wide Themes
Actipro Themes includes professionally-designed themes that cover all system, Office themes, and high contrast mode.

The themes apply to all Actipro controls and optionally to native WPF controls. This ensures that no matter what combination of controls you use in your app, it will look great!
Styles/Templates for Native WPF Controls
Enhanced styles and templates for all native WPF controls (TextBox, ToolBox, TreeView, etc.) are included. Some of the styles for controls like Menu, ToolBar and StatusBar have been completely reworked to provide a more modern appearance.
These styles/template can be automatically applied app-wide via a single line of code. Or you can choose to use the enhanced styles/templates on specific controls only, accessible via pre-defined style keys.
Common Asset Pool
Our approach with Actipro Themes in 2011.2 was to consolidate all brush, thickness, etc. assets for a theme into a single place. We call this the common asset pool.
There are well over 800 asset resources for each of the system and Office themes we support. All of our custom control product styles/templates as well as our native WPF control styles/templates use the same assets. This ensures that controls placed next to each other always render with similar colors that complement each other.

Assets can easily be reused anywhere in your applications or your own custom controls to further promote UI consistency. In fact there are numerous extra assets included, such as brushes for container and workspace backgrounds, that are intended specifically for reuse as appropriate in your apps. Assets can also be customized globally or on a theme-by-theme basis if you would like to change their look.
Advanced Tinting
Tinting is ability of taking a pre-defined WPF Brush or Pen and creating a clone of the object with color changes to be more like a certain target color. Tinting capabilities have actually been part of WPF Studio for years now, but with the Actipro Themes updates, we've made their use even more accessible.

Our design classifies each brush in the common asset pool into a tint group. With several lines of code, an entire theme (or just certain tint groups) can be tinted towards a certain color.
This feature is also handy for customers who have asked in the past for the ability to use a different color for Ribbon's application menu button, such as making it green like Excel.

Reimagined Appearance
As seen above, Actipro Themes includes updated menu, toolbar, and statusbar appearances that were inspired by Visual Studio 2010’s look. For the 2011.2 version, we wanted to extend this look to the Docking/MDI product as well since it is very often used with menus, toolbars, and statusbars.

The simplified design uses a darker workspace area, with lighter content areas in each docking window. This higher contrast appearance focuses the end user's eye on the content without distracting it with non-active UI elements, thus making for a more effective user interface.

IntelliPrompt Parameter Info
IntelliPrompt parameter info popups show the end user information about the member signature being edited and its parameters, if any. SyntaxEditor 2011.2 adds this highly-requested new UI feature, and makes it easy to implement parameter info for your own custom languages. Parameter info can even be implemented such that the caret properly handles being in nested calls and shows information for the closest containing signature.

As with quick info, parameter info can handle rich-formatted content display using HTML-like markup tags. Colors and font weights or styles can be used to bring attention to portions of the info tip. Multiple signature options can be displayed in a single parameter info tip. In those scenarios, arrows automatically appear that can be clicked. Alternatively the end user can use the up/down arrow keys to switch between options.
The .NET Languages Add-on has been updated to fully take advantage of the new parameter info feature. Both of our C# and VB language implementations now have parameter info features out-of-the-box, making for a true Visual Studio-like code editing experience. When there are multiple overloads for a signature, the resolver will do its best to show the one that best fits the code that has been typed thus far.
Single-Line Edit Mode
Single-line edit mode is an option you can activate to make the editor appear like a standard TextBox, where there are no scrollbars and no line terminators are accepted as input.

While in single-line edit mode, nearly all the standard UI features found in SyntaxEditor are still available, such as automated IntelliPrompt, adornments, etc. This makes for a very nice way to edit small code snippets or expressions.
Code Fragment Editing
Code fragments provide the ability for an end user to edit a portion of a document, such as a method body or just an expression. The benefit of using code fragments is that you can also set up header and footer text to get pre- and post-pended to the text being edited, when it is sent off for parsing and AST-building. Since a complete document is then used for parsing and resolution, automated IntelliPrompt, code outlining, and other features work correctly on the fragment being edited.
This is an especially useful feature when combined with languages like our C# and VB languages in the .NET Languages Add-on. Imagine being able to edit a set of C# statements with full automated IntelliPrompt and the user not being able to see or edit the containing class.
You can also combine the code fragments feature with single line edit mode to allow for single-line editing of expressions.
Miscellaneous
Other miscellaneous SyntaxEditor control updates include:
- New SyntaxEditor.AcceptsTab property, indicating if tabs should move focus or indent content.
- Ability to disable syntax highlighting for printouts.
- Ability to customize which typed characters can commit a completion session.
- Option to require that a completion item is matches exactly before it is fully selected in the list.
- Performance enhancements.
- Many tweaks and minor bug fixes.
- Several new samples.
- Improvements to the .NET Languages Add-on’s resolver.
- Updates to the .NET Languages Add-on’s completion sessions to use acronym matching by default.
- Improvements to Web Languages Add-on’s XmlContextFactory logic.
- Updates to the ANTLR add-on to work with the latest ANTLR v3.4.1 run-time.