WPF 4 Unleashed

Category: Programming
Author: Adam Nathan
All Stack Overflow 10
This Month Stack Overflow 5


by anonymous   2019-07-21

The poster has requested that I repost my comment as an answer. Happy to oblige :-)

  • The video presentation I referred to: http://blog.lab49.com/archives/2650
  • Bonus link: awesome WPF article in MSDN: http://msdn.microsoft.com/en-us/magazine/dd419663.aspx
  • And in case you didn't know about it, there's a chapter in the online documentation: http://msdn.microsoft.com/en-us/library/ms752914.aspx

Also I've found this book very helpful: http://www.amazon.com/WPF-4-Unleashed-Adam-Nathan/dp/0672331195

My own experience with WPF involves going back between a bunch of different resources as I try to get my program to work. There's so much stuff in WPF it's really hard to keep it all in your head as you are learning it.

by anonymous   2019-07-21

Maybe this is not the exact answer to your question but if you really want to get deeper in WPF technology I sincerely recommend the best book about WPF (which also covers the idea of styles): WPF Unleashed

by anonymous   2019-07-21

WPF and Silverlight are definitely alive and well. Also, don't let people fool you into thinking it has a "steep learning curve" (which is a common myth.) WPF isn't a walk in the park, granted, but it is also not the hardest thing to learn.

I recommend the book "WPF 4 Unleashed" by Adam Nathan. http://www.amazon.com/WPF-4-Unleashed-Adam-Nathan/dp/0672331195 It will teach you everything you need to get started with WPF (and Siverlight, which is WPF-based.)

by anonymous   2019-07-21

WPF4 Unleashed from Adam Nathan. the best wpf book i know.

WPF4 Unleashed Link

by anonymous   2017-08-20

I've just done the exact same thing. I am in the process of moving some apps to WPF. I've decided not to bite off MVVM just yet, or any VM. I'm just trying to learn the basics of WPF. I have found SO, other internet sites and this book very helpful.

BTW, I'm finding it's much easier than I thought. Takes some getting used to, but I'm already hooked (XAML is very cool). I'm convinced the best to learn is to simply jump in and start doing it.

by anonymous   2017-08-20

Thank you all, but all this is a bit diffuse, so I made a resources compilation and add some things by my own, please tell me what you think (or improve, I make it Community Wiki)

Strangely no one has talked about LINQ which seemed to be a central element of this technology.

Another thing that seems important to know given the time I lost, is not to use the WPF navigation system that doesn't seems to work properly from numerous sources I've read. So, it seem important to use a navigation framework, like Magellan.

And the routed event system seem to be an important point to look at in WPF, if somebody have some interesting resources about it, please add to this post.


  • Windows Presentation Foundation
  • WPF Documentation Samples
  • .NET Language-Integrated Query for XML Data
  • .NET Framework Developer Center - LINQ


  • In the Box – MVVM Training
  • Caliburn Micro: A Micro-Framework for WPF, Silverlight and WP7

Blog posts

  • sachabarber.net
  • MVVM for Dummies
  • Deep drive into WPF graphics internals Part 1
  • Building WPF Applications with the Page Navigation framework


  • MVVM Design Pattern NDC2009

The Code Project

  • Articles by Sacha Barber
    • WPF: A Beginner's Guide Part 1 of n
    • WPF: A Beginner's Guide Part 2 of n
    • WPF: A Beginner's Guide Part 3 of n
    • WPF: A Beginner's Guide Part 4 of n
    • WPF: A Beginner's Guide Part 5 of n
    • WPF: A Beginner's Guide Part 6 of n
  • Magellan: An MVC-powered Navigation Framework for WPF


Other Stack Overflow topics

  • Hidden features of WPF and XAML?
  • What all should an expert C#/.Net/WPF developer know?
  • Questions every good .NET developer should be able to answer?
by anonymous   2017-08-20

Here is a quote from the WPF 4 Unleashed book:

WPF introduces a new type of property called a dependency property that is used throughout the platform to enable styling, automatic data binding, animation, and more. You might first meet this concept with skepticism, as it complicates the picture of .NET types having simple fields, properties, methods, and events. But when you understand the problems that dependency properties solve, you will likely accept them as a welcome addition.

A dependency property depends on multiple providers for determining its value at any point in time. These providers could be an animation continuously changing its value, a parent element whose property value propagates down to its children, and so on. Arguably the biggest feature of a dependency property is its built-in ability to provide change notification.

The motivation for adding such intelligence to properties is to enable rich functionality directly from declarative markup. The key to WPF’s declarative-friendly design is its heavy use of properties. Button, for example, has 111 public properties (98 of which are inherited from Control and its base classes)! Properties can be easily set in XAML (directly or by using a design tool) without any procedural code. But without the extra plumbing in dependency properties, it would be hard for the simple action of setting properties to get the desired results without the need to write additional code.