I have just got a new job which involves creating a new application in WPF. I initially applied for this job, as it represented a challenge, which I quite like. At the interview stage, I was shown an existing WPF application that the existing team had created. There was nothing really that wrong with it, but it somehow just didn’t feel that WPF like.
They had the tools to do a good WPF app, for sure, they are bright people (otherwise I would not have wanted the job), but they were approaching it like a WinForms app, and it just felt, well WinForms like.
Now with all the new WPF arsenal that we have at our disposal, there is really no need that a WPF app needs to look like a WinForms app.
Using things like Animations we can do some really cool things, to set a WPF app apart, but taking a step back, I firmly believe what makes a world of difference is a common set of styled/templated controls. That are used throughout the application.
If you take the time to re-style the existing controls, you can create some quite cool looking controls that still work just the same as the original controls do, but they just look better.
I really think this 1 step, can contribute is such a major way to the way the whole app is perceived, it worth the time you spend customising the controls.
For example let’s consider a ScrollViewer control, whos default appearance looks like this:
And how about a TabControl, which by default looks like this:
Now I am no expert with Styling/Templating, but in 2 hours last night I was able to come up with some pretty satisfactory Styles/Templates for both of these controls. These new Styles/Templates, aid in branding of the overall app.
For me personally, each of the native control types that I end up using in the new WPF application, I will be attempting to create a new version of it, which sets the app apart, and gives it a touch of difference.
In this figure there is a ScrollViewer contained within a TabItem (Item2). The overall TabControl has been altered to give the appearance you see here.
So by just spending a bit of time working with Styles/Templates you are able to create some pretty slick looking stuff. After all this screen shot is just a TabControl and a ScrollViewer, which looks nothing like the default control as shown below.
I’m sure most of you will agree, the benefits from creating your own control styles, will surely help create a brand for your application. So got for it, don’t be shy, give it a try, like I say these 2 styles took me about 2 hours last night.
PS: I am unable to share the code for these 2 control Styles as I will be using them as part of a project. Sorry