Twitter Poll on Modernizing WPF Themes

by Avatar Bill Henning (Actipro) - 13 comments
Monday, November 11, 2019 at 3:57pm

Work on the WPF Controls 2020.1 version has begun.  This version is going to have large updates to our themes system.  Our goal is to focus on modern designs, allowing you to easily customize and personalize the themes used for your WPF applications.  We have a lot of ideas that we're excited to work on and will be sharing over the coming months on the blog.

As we dive into this effort, we are removing old system themes that aren't really needed any more.  For instance, "Classic" themes haven't been available as an option in Windows 10 for some time.  "Luna" (Windows XP) themes are for an operating system that went end-of-life many years ago.

Similarly, Windows 7 is going end-of-life around the end of 2019 and Offce 2010 went mainstream end-of-life in 2015. 

We are strongly considering dropping the Aero and Office 2010 themes so that we can slim down our product assemblies and focus on more current-era "modern" theming.  Rest assured, what we have planned for modern themes will allow for a high degree of customization and ease-of-use.

We've created a Twitter poll so that you can share your thoughts on dropping Aero and Aero-like Office 2010 themes in our 2020.1 WPF Controls.  We ask that you provide your opinion in this poll.  If you would like to see them kept, please contact our support team with the reasons why.

Answer the Twitter Poll

Again, all the operating systems and Office versions that had these themes are imminently or are already end-of-life.  Thank you for your feedback!

Tags: developing, poll, wpf

Actipro's WPF Controls

Over 100 UI controls for building beautiful Windows Presentation Foundation desktop apps.

Learn More

Over 100 UI controls for building beautiful Windows Presentation Foundation desktop apps.

Includes editors, docking windows, MDI, property grids, charts, tree controls, ribbons, gauges, themes, and much more.

Learn More Download Free Trial

Comments (13)

Posted 28 days ago by Jim Foye

I am not on Twitter, so I will vote here. No, please do not drop the Aero and Office 2010 themes. I have never been a fan of the Metro stuff and I (along with some other folks, I am sure) will still be running Windows 7 past the "expiration date".

Posted 28 days ago by Tobias Lingemann - Software Devolpment Engineer, Vector Informatik GmbH

We are using the Metro theme, so we don't need the Aero, Lunar or Office themes. But why don't you just pack these old themes in a separate assembly? Is it just about the product assemblies or would the old themes become incompatible?

Best regards, Tobias Lingemann.

Posted 28 days ago by Bill Henning (Actipro) - Actipro Software LLC

The primary focus on the 2020.1 version is going to be on modernization of themes.  In the current versions, our themes are effectively large XAML files with a lot of Brush, Thickness, etc. resources in them.  The resources are different for each theme.  They render great as-is but are difficult to work with if you want to customize certain aspects of them.

To better support customization moving forward, we are moving 2020.1 towards having the theme resources be generated programmatically.  The idea is that if you wish to customize a theme, you'll be able to set some properties on a theme generator and the generated theme will be affected.  For instance, you'll be able to easily tint portions of the theme, change the color family used for things like highlights, use rounded corners on various controls, etc.  We are in the early stages of this work so we can't show anything just yet, but it should be pretty neat when done.

We are focusing on modern styles with all this work.  It would take a lot of additional effort and hours to support older theme styles (Aero and older) with it since those are so complex.  If people still want the Aero and Office 2010 styles, then perhaps we continue including them statically as XAML files as an option in a separate Themes.Aero assembly that you could manually load.  The Office 2010 themes are already loaded that way for those who want them.  That way the Shared library only has modern themes by default.

Another thought is that for those who like gradients and more vibrant colors in a theme, our theme generator could possibly have options for that in the future down the road.

The brush resource generation for themes is just one part of all the 2020.1 plans we have.  We will be adding new features to WindowChrome, improving the look of some controls, adding some others, and more.  We'll be asking for more input for certain feature areas in future blog posts.

Posted 26 days ago by Dirk Zellerfeld

If Windows 7 officially ends and your changes are planned for the next major release of ActiPro, I would agree dropping Windows 7 and Aero. I don't have any statistics at the moment but I believe many people upgraded to Windows 10, which is by the way already 4 years old. And those customer who still need support for such an old OS can stay on 2019.x of ActiPro.

I would love to see modern themes. For example more acryl effects. Easier theming would be a godsent (those who tried to make a completely new color theme with Actipro controls know what I talk about).  Maybe even support for some native Windows controls (pointing out at WinUI 3.0 for .NET 5). And a "Windows 10" theme would be great as well.

So my vote is: Yes, drop it.

Posted 26 days ago by Bill Henning (Actipro) - Actipro Software LLC

Hi Dirk,

Yes we plan on looking at acrylic if possible.  And easier theming is definitely a focus for 2020.1.  What kinds of things do you generally want to be able to alter from a base light/dark theme?  that sort of information helps.

Posted 23 days ago by Dirk Zellerfeld

Hi Henning,

our problem was that we wanted to create a specific design / color schema. We knew the base color, accent color etc. but instead of defining a few base colors we had to change a LOT of colors by hand and then noticing that some colors are used in multiple controls although their naming doesn't show it. So there was a lot of testing and tweaking and even creating new control styles. This was a huge afford.

I could imagine this might be a lot of work but it would be nice to have a theme designer tool where we could set up the base color, accent color and if necessary the highlight color and the rest is automatically adjusted to that. Then it would show all controls in real time where we can click on things to tweak them. This would make it MUCH easier to apply a custom color schema.

In case that is too much effort we would appreciate if each control has unique brush / color names to change OR each control is based on a few brush / color names. But please avoid that for example a button highlight brush applies to a list box item highlight as well (This is just a theoretical examples, I forgot which brushes / colors it were specifically). As when changing the button and the noticing he listbox looks weird it takes much time to figure out why.

Apart of that you may also want to expose a bit more customizations. For example new search window for the syntax editor. We would have liked to be able to change the red background when no search result was found. Remove the red border in this case. It would be great to just override the style with a few lines or have the full source of the xaml resource style so we can tweak it. Or at least some brush / color resource names.

But I'm more excited to see a Windows 10 theme with acrylic and this "light cursor" thing that appears if you mouse hover controls highlighting the border. Also ripple effect when clicking. That would be really cool.

Posted 23 days ago by Bill Henning (Actipro) - Actipro Software LLC

Hi Dirk,

That is the general goal of what we're working on right now, an app where you select some options and colors and it will create an entire theme for you.

For the SyntaxEditor SearchOverlayPane red border around the find text when there is no match, that's currently a simple Border in the SearchOverlayPane template that displays in that scenario.  How did you want that scenario's no-match UI to render instead?

Posted 22 days ago by Dirk Zellerfeld

Hi Henning,

we've created custom search controls on our app which only change the background to (custom) red and we would like the search panel to have the same visual effect. So changing the red color to our custom red and removing the red border is what we would like to do.

Posted 22 days ago by Bill Henning (Actipro) - Actipro Software LLC

Hi Dirk,

At this time to change that, you'd have to clone the default Style for the SearchOverlayPane control and update its Template appropriately, putting the updated template in an implicit Style targeting SearchOverlayPane in your App.Resources.

Posted 9 days ago by Ralph

I'm not on tweeter either, so I'm writing here.

Please, do not drop support for old themes.  I'm using the Classic theme in my new large .NET Core 3.0 application, because Classic was a very good starting point to make just a few tweaks and get a modern and cool looking Ribbon.

Posted 9 days ago by Ralph

Oh, and I'm using a tweaked Aero theme in another application, which has just been ported to .NET Core 3.0 and its lifetime is planned for many, many years.

Posted 9 days ago by Bill Henning (Actipro) - Actipro Software LLC

Hi Ralph,

We will plan on trying to keep Aero and the old Office 2010 themes as options, stored in a separate assembly.

As for Classic, that will be going away since nobody really uses the old Windows 95 look in any apps these days and Windows 10 hasn't offered a Classic theme option in years.  That being said, if you want to describe the aspects of the Classic theme that you like, we can try and make sure our theme generation updates have some options to be able to produce something in a light theme that is appealing to you.

Posted 9 days ago by Ralph

Hi Bill,

I'm pretty busy right now, but I will email you a few screenshots and comments later this week.  Hopefully it might be possible to get the same look by tweaking another theme.

Add Comment

Please log in to a validated account to post comments.