Professional WPF Programming: .NET Development with the Windows Presentation Foundation