May 2008 Blog Posts

Why am I Getting Old Style File Dialogs and Message Boxes with WPF

This is the first post in a series about how to get the latest look and feel for the message boxes and common dialogs in your WPF application. You wrote your WPF based software, your user interface looks great but the moment you display a message box or a file open/save dialog what pops up is a Windows 2000 style dialog. For example, I’ve created a WPF application with two buttons on the main window, as you can see from the image below the application picked up the XP style with the rounded buttons and everything. Let’s click the “Message Box” button, the...

WPF: Problems with Keyboard Focus When Using Validation

If you use WPF’s data binding with validation a red border appears around controls with invalid values, you can also use the Validation.ErrorTemplate attached property to get a better look for the invalid controls. But – if you try this you’ll discover that there’s a new tab stop on you from, the red frame (or your own template) now accepts focus, breaking tab navigation. The problem is that that the validation framework will add a control to the adorner layer in order to display the error indicator – and this control is focusable. To fix it just add the following to the Window’s...

Simple Software Isn't

Creating good software is a very complicated, even in a small project there are hundreds if not thousands of little details you have to get right and it's easy, not to say tempting, to reflect this complexity in the user interface. High end "enterprise" software is actually expected to look and feel very complex, otherwise how can you justify the amount of money you spent on it. The concept of simplicity is very popular right now in the software development world, and someone who hasn't worked on "simple" software before might think simplicity is about doing less, or making the code simpler,...

The Next Version of yaTimer – version 2.2

Blogging has been very light the last few weeks – this is usually a sign I’m working on something big, in this case it’s the next version of yaTimer – my time tracking tool. First, the standard disclaimer, this post is about an unreleased version of yaTimer, nothing is final until the software is actually released. yaTimer 2.2 will be a free upgrade for all current customers. yaTimer version 2.2 is almost ready – and it’s a big update: Billing <>In this version I’m introducing the first set of billing related features, you can set a fixed task cost or an hourly rate and yaTimer...