@DeathByVisualStudio:

Thread safe is for acedemics? Come on, if you screw up syncing the threads, your best senario is application crashed, the worse is it keeps running but the numbers are all wrong, and the worst case is it updates back to database for months until accounting auditor comes and realize something is not right. The mess is extrememly scary.

Try this link.....

http://www.codeproject.com/KB/WPF/podder2.aspx

A proper bigger project should be styleless built-in and user controlls. And finally completely change the skin by art designers using Expression.