Architecting WPF Applications

picture of Brian Noyes Brian Noyes
Chief Architect with IDesign

Microsoft Regional Director
Microsoft MVP


To build great compelling, responsive, secure smart client applications with WPF you need to master not just the basic building blocks of WPF but how to compose the rest of the application that sits behind the façade of the user interface. You need to understand user interface presentation patterns to have good separation between your UI definition and the supporting logic code. You need to have loose coupling between different pieces of functionality in your application so they can be independently developed, maintained, tested, and deployed. You need to be able to communicate between the loosely coupled parts of your application with events and commands. You need to secure the application, collect credentials from the user, authenticate them, authorize actions and authenticate against remote services, databases, and other external resources. You need to manage concurrent and asynchronous work in the client and deal with the threading issues of the UI context. You need to retrieve and update data, even cache it locally for offline use, and synchronize that data when you go back online. You also need to make calls to services and be notified on events outside of your application, such as changes to back end data. And finally, you have to deploy your application.

Obviously, there is much more to WPF development than just adding elements to a UI and creating styles to make the UI look pretty. This class is all about how to apply WPF in the context of a modern application, the patterns and techniques required addressing the issues above. The class starts by reviewing the key building blocks of WPF, how and when to best use them. Next, you will learn how to build composite UI applications with dependency injection, modularity, dynamic UI composition, loosely coupled commands and events. The class then gets into the system issues of handling multithreading and concurrency, securing your application, and making client calls to services. Data caching and synchronization are covered next, followed by working with cloud services and pub/sub service notifications of back end events.

The focus of the class is on how to properly apply WPF and tie it with the rest of your application, rather than the technology itself, enabling you to successfully build the rest of your smart client application so that it is testable, maintainable, extensible, and flexible.

The material presented includes IDesign's original techniques and utilities and goes well beyond anything you can find in conventional sources. The class is a unique opportunity to learn how to best apply WPF from IDesign, who was part of the strategic design review process for WPF, participated in the architecture and design of the application blocks.


The class uses a combination of frontal presentations, code demonstrations, and hands-on lab exercises to reinforce all of the concepts presented. The demos provide a code library to refer back to when building your own applications, and the labs help cement the key learning elements of the class using step-by-step procedures to accomplish the tasks covered.


Brian Noyes is not only a Chief Architect with IDesign, he is also Microsoft’s Regional Director for the Mid-Atlantic region and a Microsoft Most Valuable Professional (MVP), with over 16 years of programming, engineering, and project management experience. Brian specializes in smart client architecture and development, presentation tier technologies including Windows Presentation Foundation, Windows Forms and ASP.NET, workflow, and data access. Brian’s latest publication is Developing Applications with Windows Workflow Foundation, a LiveLessons training DVD. Brian’s previous two books Smart Client Deployment with ClickOnce and Data Binding with Windows Forms 2.0 continue to be best sellers. Brian continuously publishes articles in a variety of publications and speaks at international conferences and events including Microsoft TechEd US, Europe, and Malaysia, Visual Studio Connections, DevTeach. Brian is a top-rated speaker on the INETA Speakers Bureau and travels the country frequently speaking to developer user groups. Brian also has long term experience in the government sector, having worked for defense and federal agencies as a software developer and architect and as a government software project manager while on active duty in the Navy. Brian got started with programming to stimulate his brain while flying F-14 Tomcats in the Navy and is a Top Gun and Test Pilot School graduate. You can always find out the latest things Brian is up to through his blog.


Online registration not available anymore

Date & Location

March 1-5, 2010 (Five days)

Antwerp, Belgium (TBD)

Target Audience

Any .NET developer or architect responsible for building smart client applications with WPF will benefit from the training. Some exposure to the basics of WPF concepts is helpful. WCF familiarity is a plus.


The cost for this intensive 5 day Master Class is 2850,- euro (taxes not included). This price includes your participation to the Master Class, coffee/tea, lunch and the printed materials presented during the Master Class.

Payment in advance is required to book your seat for the seminar. Limited places available: first come, first served. Registration is only complete and will be confirmed after payment. Transfer the total amount of your fees by bank transfer to the account of Sparkles: 733-0567754-43 (use your full name in the message) or use the IBAN code for international payment: IBAN BE 66 7330 5677 5443 (BIC code: KREDBEBB).

Cancellation is possible up to 3 weeks before the seminar - if received in writing. In this case, 25% of the total amount is charged for administration. Otherwise, the full registration fee is due, regardless of the reason of cancellation. Replacement is possible at no extra charge.

Full course details

  download full course details