The Actipro Blog

All the latest UI control development news from Actipro

Silverlight Studio 2011.1 Build 111 Released

SilverlightBanner

Silverlight Studio 2011.1 build 111 has been released and is now available for download.

This maintenance release adds several large new features, along with many tweaks and bug fixes:

  • SyntaxEditor: Added support for AST node ID values and code generation from the Language Designer.
  • SyntaxEditor .NET Languages Add-on: Added automated IntelliPrompt completion lists and quick info .
  • SyntaxEditor .NET Languages Add-on: Added object models to support reflection, context-building, and resolution of .NET types and members.
  • Shared Library: Added ToolBar styles and support for PopupButton.

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

TaskDownload[6] TaskLiveDemo[6] TaskBuyNow[6]

Screenshot

Here is a screenshot showing VB code editing with SyntaxEditor’s latest updates… and yes, this is 100% in Silverlight:

DotNetAddonVB

The new automated IntelliPrompt features of SyntaxEditor’s .NET Languages Add-on in action… it’s like having Visual Studio’s code editor in your own applications

WPF Studio 2011.1 Build 543 Released

WPFBanner

WPF Studio 2011.1 build 543 has been released and is now available for download.

This maintenance release adds several large new features, along with many tweaks and bug fixes:

  • Docking: Added support for linking DockSites, which allows documents or tools to be dragged from one DockSite to another.
  • Docking: Added support for Interop content in auto-hide popups.
  • Editors: Added support for entering gradient brushes to BrushEditBox.
  • Editors: Added new IsCaseAutoCorrected option to MaskedTextBox to support case correction.
  • Navigation: Added NavigationBar.IsHeaderVisible property which is used to replicate the Office 2010 look.
  • PropertyGrid: Added new PropertyGrid/WinForms Interop assembly which includes backward support for custom UITypeEditors.
  • SyntaxEditor: Added support for AST node ID values and code generation from the Language Designer.
  • SyntaxEditor .NET Languages Add-on: Added automated IntelliPrompt completion lists and quick info.
  • SyntaxEditor .NET Languages Add-on: Added object models to support reflection, context-building, and resolution of .NET types and members.
  • Shared Library: Added new ColorComponentSlider control which can be used to alter a single component of a color.
  • Shared Library: Added new GradientBrushSlider control which can be used to alter the stops of a gradient brush.

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

TaskDownload TaskLiveDemo TaskBuyNow

Screenshots

Here are a couple screens showing off major new features:

DotNetAddonCSharpThe new automated IntelliPrompt features of SyntaxEditor’s .NET Languages Add-on in action… it’s like having Visual Studio’s code editor in your own applications

PropertyGridBrushEditBoxOpenUpdated EditBox for editing brushes with full gradient brush support via new slider controls, which can be used independently of the drop-down as well

Filed under: WPF, Actipro, New features

SyntaxEditor .NET Languages Add-on - Completion Lists

PostBannerSyntaxEditorDevNotes

The past several days we’ve been working on resolver performance in the SyntaxEditor .NET Languages Add-on for WPF/Silverlight.  Automated IntelliPrompt features are working very well now and are fast, even in larger documents.

In past posts, we showed some of the automated IntelliPrompt quick info features that will be in the next maintenance release.  We have been working on automated IntelliPrompt completion lists as well.  There’s still a bit of work to do on them yet but so far our tests are looking great. 

Let’s take a first look!

CSharp

The C# editor screenshot above shows how I typed a ‘.’ after the variable allNumbers.  The resolver determined that allNumbers is an instance of type System.Collections.Generic.List<int> (a constructed generic type) and it is showing the member list for that type.  Note how applicable extension methods from LINQ are being imported and how the description tip for the Add method properly indicates that it has an int parameter, due to the list being a list of integers.

VB

In this screenshot of VB code editing, I typed a ‘.’ after Console and the list of members on System.Console appeared.

If you are already signed up as a beta tester, we’ll email you when an update is available with some completion list functionality.  If you are a customer and would like to help test the add-on, please see this post.

Right now completion lists are working pretty well any time you have an identifier and type a ‘.’ after it.  This can be to display members of namespaces, types, member return types, parameters, variables, etc.  The next major step will be to allow Ctrl+Space functionality anywhere.

Call to Beta Test the .NET Languages Add-on for WPF

PostBannerSyntaxEditorDevNotes

As mentioned in recent blog posts, we’re plugging along with the development of the SyntaxEditor .NET Languages Add-on for WPF and Silverlight.  We’ve just about completed the work to hit the first milestone for doing a closed beta test release.

If you would like to help beta test automated IntelliPrompt features for the WPF SyntaxEditor .NET Languages Add-on, please email our sales department from the link on this page.

We’re only looking for existing customers who have licensed and are already actively using SyntaxEditor for WPF and the .NET Languages Add-on.

The first build will support automated IntelliPrompt quick info features.  We will be getting into automated IntelliPrompt completion lists and other enhancements shortly.

We look forward to hearing from you!

PropertyGrid for WPF Makes It Easy to Transition from WinForms

PostBannerWPFStudioDevNotes


In our upcoming WPF Studio release we've added PropertyGrid support for custom UITypeEditors, which helps when transitioning from the WinForms PropertyGrid to our PropertyGrid for WPF product.

Background

The WinForms PropertyGrid allows you to customize certain aspects of the editor for a property by creating a custom UITypeEditor class. The UITypeEditor is then associated with one or more properties by decorating the property/class with EditorAttribute. The UITypeEditor could be used to perform custom drawing of elements, display a custom control in a drop-down, or present a custom dialog.

For our PropertyGrid we wanted to offer more flexibility and leverage WPF's powerful binding/templating architecture. Along those lines, custom property editors can be easily mapped to one or more properties using several mechanisms. Custom property editors are really just DataTemplates and could therefore contain any WPF content. This offers a lot of flexibility in how properties are presented.

We also supported the EditorAttribute, but through a custom editor class, not UITypeEditor. In general, this has worked out well, but forced any users moving from the WinForms PropertyGrid to our PropertyGrid to recreate all their custom property editors.

Interop Support

To aid in the transition to our PropertyGrid, we've added support for UITypeEditors to our PropertyGrid through a helper assembly. A special WPF control was created that interacts with the UITypeEditor, which is then presented in our PropertyGrid.

PropertyGridWinFormsInterop

In the image above, you can see the WinForms PropertyGrid on the left and our PropertyGrid on the right. The custom UITypeEditor came from this MDSN walkthrough (http://msdn.microsoft.com/en-us/library/ms171840.aspx), which has an enumeration with two shapes. In addition, you can see that the custom rendering of the property value is supported as well.

Summary

This interop support can all be setup with a single line of code, so you can get up and running fast. Now transitioning property editors to our PropertyGrid doesn't have to be done all at once.

As mentioned above, these features will be included in the next WPF Studio maintenance release.