views:

92

answers:

1

I've been asked to make one of the components, which mimics a real-world appliance, in our application have a custom appearance, which varies depending on the make of the appliance being mimicked, so I need to make it skinnable.

Now, I'm aware that the best way to do custom appearances in user interfaces, is not to do that at all; but I don't think I'll be able to get that past management, so...

What's the the second-best way to make a skinnable user interface component? Our app is winforms-based so I was wondering whether it makes sense to use a WebBrowser control, write the skins in HTML, and somehow hook the DOM elements up to our app's events. Should I do it that way, or is there a simpler (and free) way of doing it?

+5  A: 

I would use WPF (Windows Presentation Foundation) or a skinnable component library like DevExpress (let's you design your own skins).

DevExpress Skin Creation Tutorial

Rauhotz
I'd agree that WPF ought to be the way to go.
Murph
I'm afraid ours is a winforms app, not WPF, but I'll have a look at DevExpress - thanks.
Simon
Changing a non-skinnable UI to a skinnable one is almost certainly a complete rewrite, so the fact that your existing app is Winforms shouldn't hold you back from using WPF.
Robert Rossney