The Actipro Blog

All the latest UI control development news from Actipro

Want to join our WPF development team?

We're looking to add a part-time consultant to our innovative WPF development team at Actipro.  If you are a young software developer who feels you can make a difference and want to be involved in the creation of top-notch WPF user interface controls then we want to hear from you.

Benefits of working for Actipro are that you can work from home, have flexible hours, get mentored by our staff, and learn about all aspects of product development.

Best of all, while we would start out with some simpler tasks, the end goal would be to migrate you towards enhancing our existing control products or creating your own.  This role would bring increased pay and responsibilities.

Interested?  Click the link below to learn more, and tell us about yourself and where you want to go.

Learn more about our job opening

We only want to hear from individual candidates who are US citizens. Recruiters and other firms who contact us will not be considered.

Filed under: General, Actipro

PropertyGrid for WPF released as part of WPF Studio v4.5

We're very happy to have just released PropertyGrid for WPF, a control we've been working on for several months.  The PropertyGrid control combines the best features of the Windows Forms PropertyGrid, the PropertyGrids in both Visual Studio and Expression Blend, and has a number of unique features you won't find in our competition.


The PropertyGrid for WPF control in its Office 2007 theme

Try a Live XBAP Demo

Run our WPF Studio Live Demo to see PropertyGrid in action without leaving your browser.

Downloading PropertyGrid for WPF

You can download PropertyGrid for WPF as part of our new v4.5 release of WPF Studio that just came out.  It has a bunch of QuickStarts not found in the Live Demo and also includes extensive documentation on using the control.

If you would like to try an evaluation, go to our Download WPF Studio Evaluation page.

If you are an existing WPF Studio customer with an active subscription, you can get the update for free by requesting a free upgrade from your Actipro Organization Purchases page.

Feature List

Check out this list of extensive features:

Factory Features

  • Factory architecture allows for complete customization of the items presented.
  • Built-in factories for TypeDescriptor and simple Type reflection provide the most common methods of retrieving properties.
  • Statically defined items can be used in place of, or in addition to, any items dynamically generated by a factory.
  • Ability to merge multiple objects, which means only properties common to all objects are presented.
  • Properties can be automatically sorted and custom SortDescriptions can be defined.
  • Support for expandable properties and lazy loading, which allows for cyclic references and faster load times.
  • Full support and integration with the WPF data validation infrastructure.
  • Properties can be automatically categorized, with support for CategoryAttribute.
  • Simple filtering supported via "browsable" attributes, which specifies attributes that must be defined on a property for it to be included.
  • Attached properties are supported and can be filtered, when using the built-in TypeDescriptor factory.
  • Support for BrowsableAttribute, DisplayNameAttribute, DescriptionAttribute, and several other ComponentModel attributes.
  • Support for ICustomTypeDescriptor, when using the built-in TypeDescriptor factory.
  • Asynchronous mode allows for property retrieval to be executed in a separate thread.


Editor Features

  • Several built-in property editors are provided, with more to come in later releases.
  • Support for custom property editors, which can be used to customize the look and/or feel of a given property.
  • Property editors can be defined globally, on a single PropertyGrid, or on specific property (e.g. via EditorAttribute).
  • Property editors can be tied to a property by name, Type, or both, which allows for all properties of a specified Type to use the same editor.
  • Support for custom category editors, which can be used to provide more complex interfaces for presenting/modifying specified properties.


Appearance Features

  • Includes fully customizable and resizable summary area, which shows details about the selected item.
  • Easily configurable transitions supported in the summary area.
  • Built-in themes for Aero, Office 2007 blue/black/silver, Luna blue/olive/silver, classic, and high-contrast.
  • Includes a fully customizable context menu, with standard menu items already initialized and handled via built-in commands.


Layout, Globalization, and Accessibility Features

  • Columns can be customized as needed to provide a new look or feel, columns can even be added or removed.
  • Resize columns from any where in the control, or programmatically.
  • Right-to-left support is fully integrated for languages such as Hebrew or Arabic.
  • All text properties use localization attributes, and string resources may be customized.
  • Follows the WPF accessibility model for UI automation.


Code and Requirements

  • Includes detailed documentation and a sample project that demos nearly every feature.
  • Written in 100% pure C# and is based on the Windows Presentation Foundation framework.
  • Requires the .NET 3.0 or 3.5 run-time framework.
  • Full XAML support and XBAP compatibility.
  • Extensive Visual Studio 2008 designer capabilities.
  • Visual Studio 2008 and/or Expression Blend are recommended development tools for this product.


Filed under: Actipro, WPF, New product

New poll: Which WPF products do you want to see Actipro bring to market?

As a more formal follow-up to this post where a lot of our valued customers gave their feedback on our product roadmap, we just began a new poll to get more input from our customers on exactly which types of WPF products you'd like to see us bring to market.  Now that PropertyGrid for WPF is almost ready to go, our next project will be an Editors library with things like part-based and masked textbox editing.  These will be able to be used with PropertyGrid or standalone.  As you know we also have SyntaxEditor for WPF in ongoing development.

You can find the new poll here:

Poll: Which WPF products do you want to see Actipro bring to market?

Please take a minute to fill it out and rank the various future product ideas we have.  At Actipro, your input matters!

Previous Poll Results

Our previous poll "What IDEs do you use for WPF design/development?" has been out for a while now and we found the results thus far to be in line with what we expected.

95% said they used Visual Studio 2008 for WPF development.  5% said they still used VS 2005 and 5% said they used neither.

10% said they used Expression Blend all the time.  53% said they used it occasionally, while 37% said they do not use it at all.

Tags: ,
Filed under: General, Actipro, WPF

SyntaxEditor .NET Languages Add-on's IntelliPrompt improvements


We just released build 276 of SyntaxEditor and its add-ons.  This build has more general tweaks and bug fixes, along with some major updates to the IntelliPrompt capabilities for C#/VB via the .NET Languages Add-on.

Here are some of the major new updates.  There are a lot of small enhancements in IntelliPrompt across the board as well.

Anonymous Types

IntelliPrompt now works for anonymous types.  It will construct a type definition behind the scenes that contains the properties you specify and will use that type definition for constructing IntelliPrompt UI.


SyntaxEditor showing a member list for a property that is several levels deep in anonymous types

In the screen above, both abc and def are implicitly defined anonymous types.  You can see how SyntaxEditor correctly identifies the Now property on the abc anonymous type as a DateTime.

Extension Method Application

We have really enhanced the way that we determine which extension methods are applied to various types.  In previous builds there were a number of cases where extension methods could be applied to inappropriate types.  With our new code updates, the add-on attempts to resolve the parameters down to really determine if an extension method applies to a type, even if the type is a complex generic one.


A member list showing how extension methods are applied properly based on the source type

In the screen above, note how the AGoodTextExt extension method appears in the member list, while ABadTestExt does not since the latter is for enumerable int objects, not enumerable char objects.

Extension Method Quick/Parameter Info

The code updates also include some more updates to the quick and parameter info that is displayed for extension methods.  It will attempt to resolve the generic parameters into their "real" types for display to the end user.


A member list showing how LINQ's Enumerable extension methods have been applied to a list variable, and how the quick info correctly displays the return value as IEnumerable<int>

In the screen above, the quick info used to say IEnumerable<T> in previous builds, but now says IEnumerable<int>.  We will be making other improvements in this area in the future.

Implicit Variable Declarations in VB

While our C# implementation has had var support for a while, we now have implicit variable declarations working in VB as well.


A member list displayed for a variable that was implicitly declared

In the screen above, SyntaxEditor correctly displays the members for the ApplicationException type since that type was used to initialize the variable var.

PropertyGrid for WPF is almost ready

We're very close to having our new PropertyGrid for WPF product ready to go and we're confident you'll love it once you get your hands on it.  We've added a lot of innovative features that aren't found in our competition.

More on these closer to release, but I'll review a couple things below.

Release Date

We're putting some final touches on the codebase today and early next week.  We already have over 10 QuickStarts that show off various product features, and several others that we plan on doing, some possibly after the initial release.  We also have to work on documentation.

So with all that mind and barring any last minute changes, we're going to target the first release of PropertyGrid for WPF sometime in the week of September 15th. 

Anyone who has an active WPF Studio subscription at the time of release will be eligible to upgrade to get PropertyGrid for free!  That's one of the great benefits of being a WPF Studio customer, instant free access to new products.

.NET 3.5 SP1 Virtualization

As you know, .NET 3.5 SP1 came out a couple weeks ago adding some nice new virtualization capabilities for native WPF controls.  We wanted to ensure that PropertyGrid also took advantage of the new virtualization features and have designed it accordingly.

When PropertyGrid virtualization is enabled on machines running SP1, the control will use less memory and will have faster load times.  The only downside is that scrolling will be slightly slower since it is generating containers on the fly instead of at initial load time.

Category Editors

One really interesting feature of the Actipro PropertyGrid for WPF is the ability to support custom category editors.

Category editors are a concept introduced in Expression Blend where you can group multiple properties into a custom UI that provides a friendlier layout.  The properties processed by the category editor do not appear individually like normal.


Two PropertyGrids side-by-side and operating on the same object, one with default editors and one with custom category editors

The screenshot above shows one of our QuickStarts where both PropertyGrid controls are editing the same object. However the PropertyGrid on the right has a couple category editors that consumes several properties and provides an interesting UI for editing those properties.

As with the rest of the control, the UI can be fully customized and styled.

Filed under: Actipro, In development, WPF