Doing a custom control theme in WPF is no small undertaking. theMatic (currently very-much-in-alpha) hopes to take some of that pain away, especially for smaller teams that don’t have a dedicated designer, or for quick apps that you still want to give that ‘custom’ touch.
The vision is that you choose a set of control templates (which I collectively refer to as a design), some typography, and a number of colors that make up your theme: colors for control chrome, colors for branding, colors for window foreground text and background. ThemeMatic gives you a live preview of these changes as you make them. Then when you’re done you click ‘Generate’ and out pops a ‘theme’ assembly that contains all the XAML that describes your theme. You reference this from your main application, and you’re done.
TheMatic is still in definitely alpha – the whole generate process is not done yet, and the three sets of control templates: Simple Styles, JetPack and Cosmopolitan have varying levels of support for the theme colors. It’s a work in progress, but I wanted to give everyone a preview to get some feedback. You can see it in action in this video:
ThemeMatic Preview from Joseph Cooney on Vimeo.
You can download the code from codeplex http://thematic.codeplex.com/ . In time I’d like to add support for more designs (from the WPF themes project), and further refine the current ones (they need a lot of work), but I’d love to know what additional features people would like to see.
Thanks to Scott Barnes for his feedback on how this app should work. Please leave comments here or on the codeplex site if you want to make any suggestions.
Comments
Dew Drop – November 4, 2010 | Alvin Ashcraft's Morning Dew
This is Windows Client Developer roundup #49. The Windows Client Developer Roundup aggregates information
I would rather have the ability to drop these files in my own project ( new or old ).
Also, do you know why the TextBlock control is not used with WPF Themes today? I wish it would be added because if I change from a light to dark theme or vise versa, then I have to change the TextBlock Foreground color.
One last thing… I noticed the JetPack theme in your video. Is this supported for WPF today? I thought it was only released for Silverlight. If so, could you release a basic demo on how to add the JetPack theme to a WPF app?
Keep up the good work. Hope to use in the future.