WPF Controls 2017.1 Beta Testers Requested

by Avatar Bill Henning (Actipro) - 6 comments
Tuesday, January 31, 2017 at 6:48pm


Hey everyone, we've been working very diligently on the 2017.1 version of our WPF controls for the past several months and a public beta is almost ready.  We'd love as many customers as possible to participate in the beta.  First, let's give an overview of what's new in the 2017.1 version.

Editors Reimagined

In the 2017.1 version, we reimplemented all Editors controls to be faster and more lightweight in terms of elements/bindings, and to use a common codebase with the Universal Windows Editors product.  The new designs are better optimized for use in large quantities such as within data grids or property grids.

Every new edit box control has more fine-grained control over the step values.  Now a native TextBox control is used for input, which allows for more free-form editing, IME input, and better UIA support.


New and improved drop-down pickers have been designed for each edit box.  The pickers are optimized for mouse, pen, and touch-based entry.  The screenshot above shows the BrushEditBox and the new BrushPicker drop-down control.  Altering any edit box's drop-down is simply a matter of providing an alternate Style for its picker control.


New edit boxes have been added for the Byte, Int16, and Single numeric types, along with dedicated date-only (DateEditBox) and time-only (TimeEditBox seen above) variations of DateTimeEditBox.

Tree Controls Added

Our customers have requested custom tree controls from us for a while now and we delivered in this version.  We now offer a new TreeListBox control that is a single column tree similar to a native TreeView but optimized for MVVM usage, virtualization, and speed.  It supports nearly all of the advanced features you'll find in a tree control like the Visual Studio Solution Explorer tree.


We also offer a new TreeListView control that is built upon the TreeListBox control but displays multiple columns similar to a ListView.  Each column supports its own distinct user interface via data templates.

Both of these controls are packaged in a new Grids product.

PropertyGrid Reimagined

While the PropertyGrid control found in our 2016.1 and earlier versions was very feature-rich, its performance sometimes left much to be desired and customization via property editors wasn't very straightforward.


In the 2017.1 version, PropertyGrid has been rewritten from scratch and constructed around the foundation provided by the new TreeListBox and TreeListView controls.  It's now lightning fast and loads complex objects (like the properties of itself) almost instantly.  A lot of this is due to simplification of the internal object model, use of virtualization techniques, and fewer overall UI elements.  You'll definitely notice the speed increase.

The core object model used to track properties and categories has been improved and creating custom property editors is much more straightforward now.

The new PropertyGrid is part of the Grids product as well.

Beta Testers Wanted

If you'd like to help us beta test the product, please write our support address and let us know your existing 2016.1 license information.  We will notify you as soon as the public beta is ready and will send you a 2017.1 license if your subscription is still active. 

The code for the beta is near complete and should be pretty stable.  We have a full array of samples and documentation has been completely updated, including conversion notes.

We also will be chatting about the beta in our Slack channels so please join if you have Slack.

How to Animate a WPF Standard MDI Window into Place

by Avatar Bill Henning (Actipro)
Thursday, January 5, 2017 at 1:52pm


Our WPF Docking/MDI control product allows you easily add docking tool windows and a MDI (multiple document interface) to your app, one that mimics Visual Studio.  We have two built-in MDI options: tabbed and standard.  Tabbed is similar to the style that current Visual Studio versions use.  However some customers still prefer to use the classic windowed style of MDI that we call "standard MDI".

There is no built-in standard MDI mechanism in WPF, but we provide a complete implementation in Docking/MDI with all the functionality like cascading and tiling that you would expect.

We just had a customer ask how they could animate a standard MDI window into place when it's first loaded. 

We did a quick experiment in our 2016.1 version using a simple implicit Style and it worked great.  Here's the results:


The animation we defined quickly fades in the window and "pops" it into place.  This animation matches the animations we use elsewhere in the product such as when dock guides appear while dragging docking windows around.

Here's the code that you can place in your app's Resources to get the animation above to appear:

<Style TargetType="docking:StandardMdiWindowControl">
<Setter Property="Opacity" Value="0" />
<Setter Property="RenderTransformOrigin" Value="0.5,0.5" />
<Setter Property="RenderTransform">
<ScaleTransform ScaleX="0.8" ScaleY="0.8" />
<EventTrigger RoutedEvent="docking:StandardMdiWindowControl.Loaded">
<DoubleAnimation Storyboard.TargetProperty="Opacity" To="1" Duration="0:0:0.2" />

<DoubleAnimation Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleX)" To="1" Duration="0:0:0.2">
<BackEase EasingMode="EaseOut" />
<DoubleAnimation Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleY)" To="1" Duration="0:0:0.2">
<BackEase EasingMode="EaseOut" />

Download our WPF Controls and give it a try!

TaskDownload TaskBuyNow

WPF Controls v2016.1 Maintenance Release

by Avatar Bill Henning (Actipro)
Thursday, December 15, 2016 at 1:15am


Today we published a WPF Controls maintenance release v2016.1 build 635.  The updates are described in detail in this post.  It is highly recommended that you download this maintenance release since it fixes several issues that popped up with the Docking/MDI product and makes several other minor enhancements as well.

We are now at a stage where we are about to start prepping our codebases for the upcoming 2017.1 version.  Over the past few months, we've been working on an array of new and revised controls for that version, and will begin merging all that in over the coming weeks.  Look for a beta testing request announcement in very early 2017. 

Everyone, please have a wonderful holiday season and happy new year!

TaskDownload TaskBuyNow

WPF, UWP, and Silverlight v2016.1 Maintenance Releases

by Avatar Bill Henning (Actipro) - 2 comments
Friday, November 18, 2016 at 3:33pm


Very large maintenance releases of our v2016.1 WPF, Universal Windows, and Silverlight controls have been released and are now available for download.  While there are an enormous number of minor updates and bug fixes made across the various UI control product range, the following lists the major updates that were made.

Visual Studio 2017 Support

These Actipro maintenance releases update our UI controls to support the Visual Studio 2017 RC version that was released on Wednesday.  Congratulations to the Microsoft teams involved in delivering the next major version of our favorite IDE!


A new event has been added that is raised when dragging docking windows over a drop target.  Handle this event to specify that certain dock guides should be hidden that normally would be visible.


A new property is available to prevent floating dock hosts that contain MDI from showing in the Windows taskbar.  (WPF only)


A new Calculator control has been added that provides a familiar calculator interface to interactively calculate numeric values.  A new PickerKind property is available on DoubleEditBox and Int32EditBox to allow for optional usage of the calculator in the popup picker.

DoubleEditBoxOpenedCalculator   TimeSpanEditBoxOpened

New edit box and picker controls have been added for the Int16, Int64, Single, and TimeSpan types.

A new property has been added that determines the scenarios (e.g Enter key press, etc.) in which a value commits when editing in an edit box.

A new property has been added that determines the wrapping behavior used when spinning past a minimum or maximum value in the active part in an edit box.

Added the DoubleEditBox.IsNaNAllowed, IsNegativeInfinityAllowed, and IsPositiveInfinityAllowed properties, which allow entry of those related values.


Improved Int32EditBox to support hexadecimal formats.

Improved GuidEditBox to support multiple formats.


Added UI automation peers for numerous controls.


The MaskedTextBox control added a default context menu and the gradient brush editor added a Remove Stop button.



The TreeListBox control and its derivatives added a powerful data filtering mechanism that uses string, boolean, and predicate-based logic to filter items.


A new sample that demonstrates filtering was also added.


Added the ZoomLevelIncrement property that controls the mouse wheel zoom step amount.

Added several UI automation peers for internal SyntaxEditor components.


Improved the IntelliPrompt completion list to try and keep the item matched by typing scrolled to the middle.


Added a UI automation peer for the RadialSlider control.


Updated the RadialSlider control to support more keyboard shortcuts.


All products received numerous other minor enhancements and bug fixes.  See the announcement posts for the detailed list of enhancements and updates:

TaskDownload TaskBuyNow

Actipro Blog 2016 Q3 Posting Summary

by Avatar Bill Henning (Actipro) - 2 comments
Monday, October 3, 2016 at 1:46pm


What We Accomplished

In this quarter, we published new maintenance releases of our WPF, UWP, and Silverlight control products.  SyntaxEditor received numerous updates like a much-improved system for tracking line modification marks that works just like Visual Studio's (including showing reverted changes), a JSON text formatter, ability to merge new text changes into previous ones, and more.  Docking/MDI received many new features and bug fixes and the new build is a recommended update if you using the 2016.1 version.  The Shared Library added support for grayscale images on disabled controls.  But most importantly, we added an alpha build of our upcoming Grids product containing previews of our TreeListBox and TreeListView controls.  We've discussed these in several blog posts around the middle of the year.

What’s Coming Next

The past couple months we've focused on finalizing the TreeListBox and TreeListView controls and have been busy reimplementing our PropertyGrid control to be based on TreeListView.  That work is mostly completed at this point.  The new PropertyGrid we're making harnesses virtualization and is lightning fast.  It's also extremely customizable, making it easier than ever to make custom property value editors or even control which properties show up in the PropertyGrid.  We will be officially launching this new PropertyGrid control in a Grids product with the TreeListBox/TreeListView controls in early 2017 but might post a preview build of the new PropertyGrid in late 2016. 

We also have been working on backporting our UWP Editors product to WPF.  The editors found in that newer design are a bit simpler in nature (much lighter-weight in terms of UI elements) and very performant, while still providing the best features found in the current WPF Editors.  We are preparing these new and updated Editors to also launch in early 2017, alongside the new Grids product.  They will be ready for easy usage within the new PropertyGrid as well.

If you have any interest in helping test some of these new controls, please write our support address or sign up for our Slack team.

Blog Post List

Control Product Development

Control Product Releases