WPF WindowChrome Processing Overlays

by Avatar Bill Henning (Actipro) - 2 comments
Thursday, January 23, 2020 at 8:58pm

Actipro WPF Controls v2020.1 development is in progress, and the new version’s main goals are to modernize our UI control features/themes, and make theme customization much easier.

In yesterday’s post, we took a look at WindowChrome (our class for theming WPF Windows that also adds customization features) and its new ability to support full-window overlays. The example in that post showed an Office-like Backstage menu overlay.

Processing Overlays

Another common use of overlays is for processing indicators. Let’s say you kick off a time-consuming thread and you don’t want the user interacting with anything on the window. This is a perfect scenario for displaying a beautiful processing overlay.

A WindowChrome processing overlay

In this sample, we start a worker thread that runs for several seconds. While the thread runs, we show a processing overlay with an animated progress spinner. The overlay uses a subtle fade animation when opening and closing.

Note how the window title bar is still fully accessible while the overlay is displayed. This allows the user to continue interacting with the window itself (e.g. move the window, minimize it, and so on), even though the main content area of the window is blocked from interaction.


WindowChrome overlay features will be ship in the 2020.1 version and offer up all kinds of exciting possibilities for your apps.

Post in the comments below if you have any feedback or questions about WindowChrome overlays.

WPF WindowChrome Application Menu Overlays

by Avatar Bill Henning (Actipro) - 2 comments
Wednesday, January 22, 2020 at 9:51pm

Actipro WPF Controls v2020.1 development is in progress, and the new version’s main goals are to modernize our UI control features/themes, and make theme customization much easier.

We plan on making a lot of blog posts in the coming weeks to detail various features that will be shipping in the WPF Controls 2020.1 release.  The first several posts will focus on new features and functionality coming to our WindowChrome class.  Let’s dig in!

What is WindowChrome?

WindowChrome, which is included in the Shared Library, allows any WPF Window to have advanced chrome features.  In the past this has mostly related solely to providing a themed window that had a Metro, Office, or Aero-like appearance.  We have been working on refining our WindowChrome template, while adding an extensive new feature set that customers are going to love.

In today’s post, we’ll take a look at one of our favorite new WindowChrome demos, which shows the ability to create an animated full-window overlay similar to an Office-like Backstage.

WindowChrome Overlays

WindowChrome has a new MVVM-compatible overlay feature that allows custom content to be injected that overlays the entire window, including the title bar area. 

WindowChrome showing an application menu overlay

Best of all, several built-in animations are supported.  In the sample above, we slide and fade in the overlay for a pleasing user experience.  The animation doesn’t occur on machines without hardware acceleration.

This sample also shows how WindowChrome lets you optionally align the title bar text to the center, and how custom buttons can be injected into the title bar.  This sample has a Menu button on the left side of the title bar and a Help button on the right side.

An Office Colorful theme is in use, which makes use of an accent color in the title bar.  It’s easy to change to any other accent color, and we supply predefined colors that match Office apps.

As the overlay is displayed, we switch the title bar to an “alternate” title bar style that has a more traditional appearance.  We also hide the Menu title bar button and show a Back button in its place.


WindowChrome overlay features will be ship in the 2020.1 version and offer up all kinds of exciting possibilities for your apps.  Anything from a home screen to an Office-like Backstage can be implemented in the overlay.

In our next blog post, we’ll show another way to use overlays during time-consuming processing operations.

WPF Controls 2020.1 Themes Goals

by Avatar Bill Henning (Actipro) - 7 comments
Tuesday, December 10, 2019 at 6:54pm

Actipro WPF Controls v2020.1 development is in progress, and the new version’s main goals are to modernize our themes and make theme customization much easier.

In today’s post, I’d like to provide some high-level information on some of the updates.

Theme Generation Concept

When an Actipro theme is activated, hundreds of brush and other resources are loaded and used throughout all our Actipro and native control templates.  This allows our themes to provide a cohesive appearance throughout all controls in your app.  Our WPF Controls ship with over 25 professionally-desired themes that match system, Office, and Metro themes.

In v2019.1 and earlier, all these theme resources are pre-defined by us in large XAML files and customers can customize individual resources or tint groups of them.  While these themes look great, it can be tedious to customize them if you don’t like the out-of-the-box look.

A primary focus of the 2020.1 WPF Controls is to move from our previous pre-defined themes towards themes that are generated at run-time based on theme generator options you set.  For instance, a main setting is the theme intent, which can be White, Light, Dark, Black, or HighContrast.  This tells the theme generator how the theme is meant to be used in general.  Then various grayscale and color ramps are generated based on configurable options.  All the highlight colors are based on colors generated in the color ramps.  There are options for things like the corner radius of tabs, whether the title bar uses an accent color (like in Office colorful themes), etc.

We are currently prototyping out this concept and so far, it’s working very well.  We will provide some screenshots once we are further along.  Please post your ideas on what kinds of options you’d like to have configurable in the comments below, as that will help guide us.  Now is the time to think big!

Modernizing Control Appearances

We have numerous ideas for bringing more modern control appearances to our new WPF themes.  Some of these, such as menu item checkmark updates, involve changes to our core control templates, both for Actipro and native controls.  Other modernization features will be optionally activated via properties set when generating themes.

WindowChrome, which allows any WPF Window to have advanced chrome features, is also getting a lot of enhancements that will be described in a future post.  These updates provide new functionality that wasn’t available before.

With several older themes being removed and other modernization template changes being made, we are finding that some of the brush and other resources used in our WPF themes are no longer needed.  We are working on consolidating brush resources where possible and removing unnecessary resources.

Older Themes

Luna and Classic

As part of the themes updates, we are going to be removing several very old themes that are outdated at this point.  These include the Luna themes (Windows XP appearance) and Classic theme (based on system colors and hasn’t been available in Windows 10 for years).

Aero and Office 2010

In a previous post, we had asked for feedback on whether customers still use Aero and/or Office 2010 themes.  Aero theme provided the Windows 7/Vista appearance, but Windows 7 is going end-of-life this month by Microsoft.  Office 2010 went mainstream end-of-life in 2015. 

We received feedback from several customers who still wished to use those themes in the foreseeable future, and we will be retaining those themes as options.  They are being consolidated into a separate optional Themes.Aero assembly that you will be able to reference and register at app startup.  This will allow us to keep our Shared Library smaller while still allowing the pre-defined Aero-style themes to be available for customers who wish to use them.

Aero Glass

With Windows 7 going end-of-life, we are removing support for transparent Aero glass features in our WindowChrome.  But as mentioned above, the Aero theme will still be fully available.


We’d love to hear your comments, especially what kinds of options you’d like to see on our theme generator. 

Grayscale Disabled Images in WPF

by Avatar Bill Henning (Actipro)
Wednesday, August 31, 2016 at 1:25pm


The most recent 2016.1 release of our WPF Controls added a new DynamicImage control.  This is a drop-in replacement for Image that will auto-grayscale the image content when the control is disabled.

Grayscale Images in Disabled Ribbon Buttons

Ribbon buttons have all been updated to automatically grayscale their images when they are disabled.


The left ribbon has enabled buttons and the right ribbon has several disabled buttons

Grayscale Images in Disabled ToolBar Buttons

ToolBar buttons (if our native control themes are applied) have also all been updated to automatically grayscale their images when they are disabled.


The left toolbar has enabled buttons and the right toolbar has several disabled buttons


In the past, the above disabled buttons would show their images with some transparency but would retain the color.  Having images auto-switch to grayscale ensures that they truly reflect a disabled state.

These features are in the latest 2016.1 maintenance release, available now.

TaskDownload TaskBuyNow

WPF Controls 2016.1 Build 631 Released

by Avatar Bill Henning (Actipro)
Friday, March 11, 2016 at 3:27pm


WPF Controls 2016.1 build 631 has been released and is now available for download.  This build contains numerous minor features, updates, and bug fixes across the various WPF control product range. 

It is highly recommended that v2016.1 customers upgrade to this build since it fixes all issues that have been discovered in the major Docking/MDI control updates that were part of the first 2016.1 release.

The first 2016.1 release added new Metro themes that have accent colors, like in the screenshot below.


The QAT buttons on the upper left of the window were originally wider in Office 2016, matching the width of the system minimize, maximize, and close title bar buttons.  However in the most recent Office 2016 update, the QAT button width was reduced and we've updated their size in this build to match.

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

Do you want to chat with us about what we're working on next?  Register to join our Slack team and help guide our future development efforts!

TaskLearnMore TaskDownload TaskBuyNow