Avalon (I mean WPF) book recommendations?

I'm looking for a recommendation for a good Avalon book.

Which one do you like, and why?

Comments (17)

  1. Anilmathiel says:

    The Mists of Avalon, the Ancestors of Avalon, the Priestess of Avalon, The Forest House… pretty much any book by Marion Zimmer Bradley, she has A LOT of really good Avalon books, i own many of them and have read them all many times, they are unique, wonderful stories i think you would enjoy.

  2. squidbot says:


    It’s fantastic, Petzold really knows how to teach API’s.

    On the other hand, I’d avoid the O’Reilly book (Programming Windows Presentation Foundation by Sells & Grifiths.) It was obviously pushed out to be the "first" rather than useful.

  3. Petzold’s book is really incredible and a pleasure to read.

    I strongly recommand it to all WPF developers 🙂

  4. Ben Hall says:

    I’ve heard lots of good things regarding Petzold’s book too.  Would have brought it, but got other books on my reading list atm

  5. Hi Eric.. I have research and found some interesting books:

    Application = Code + markup

    Presenting Windows Workflow Foundation (Paperback)

    Professional WinFX Beta: Covers "Avalon" Windows Presentation Foundation and "Indigo" Windows Communication Foundation

    Programming Windows Presentation Foundation

    XAML in a Nutshell

    I will be posting more on my site as i found them.


    Hope this can help


  6. irascian says:

    Another vote for Petzold here. It’s fun but most importantly of all I haven’t found any errors in it yet. The code can be typed in as you follow along and it just works. None of which is true of most of the other books I’ve bought over the last year.

    I wish I could find an equally good book on WCF

  7. Ned says:

    There are only 4 in print:


     XAML In a Nutshell

     Programming Windows Presentation Foundation

     Pro WinFX beta

    Petzold’s is excellent–even better than classis Petzold.

    The other 3 are so badly out of date that they are worthless.

  8. John Coleman says:

    The Programming Windows Presentation Foundation is one of the worst books ever published.  Avoid that.

    With that one rule you can lucky-dip any other book and be safe.  Petzold is OK, but it has almost no screeenshots, so it’s usefulness is limited.

    I’m waiting for Chris A.’s (simplegeek.com) book… I’v ebeen buying these books and am constantly disappointed.

  9. Wow!  I’m slightly amazed to see such negative comments about Chris Sells and my book – Programming Windows Presentation Foundation.

    I’m quite happy to admit that it’s now out of date – it’s over a year old, and that’s the inevitable result of getting it out for beta 1.

    We will of course be releasing an update fairly soon after WPF ships.

    As it happens, conceptually most of it is still up to date – only the animation system has undergone major conceptual revisions since the book shipped. So I’d say the animation chapter is now not worth reading, but the rest of it has, I think, held up much better that I expected when we wrote it.

    Of course lots of little details have changed. But that’s why we’ve been pushing out updates to the examples, and a change list online.

    If John Coleman or squidbot are following this thread, I’d *love* to know what you thought was so bad about Programming Windows Presentation Foundation.

    On Amazon.com, we 27 out of the 28 reviews give it 5 stars. The one that gave it only 2 stars did so specifically because it’s out of date. (And he appeared not to have bothered looking for updated samples.)

    Believe it or not, this is the first time I’ve had any negative feedback regarding anything other than it being out of date. So I’m really hoping John Coleman and/or squidbot will be more specific about what they don’t like about it. We’re writing the next edition right now, so this is an ideal time for feedback.

  10. abhinaba says:

    I have partially read Chris/Ian’s book Programming Windows Presentation Foundation and like it a lot. I’d highly recommend it.

    I have not read Petzolds book, but I do follow his blog and from the XAML only samples he has put up, it looks like a interesting book….

  11. >>> Wow!  I’m slightly amazed to see such negative comments about Chris Sells and my book – Programming Windows Presentation Foundation. <<<

    Ian: here’s one thumbs up vote for your book. It’s not as good as Petzold’s, but it can’t be labeled as bad under any circumstances.

    It is out of date, but the way the topic is presented to the reader is quite good. I wasn’t even able to tell which chapter was "yours" and which was Chris’, so job well done on the unification of writing style.

  12. squidbot says:

    I’ve just pulled it off the shelf to take a look again. It’s been a few months since I’ve picked it up so my memory isn’t fresh, other than general distaste. Here are some general comments from a quick scan and what I remember…

    – I found the formatting of sample code extremely hard to read, especially the "bold for new code", which also was applied to file names, which seemed very odd

    – The first chapter seems gratuitous and confusing, as you cover elements of WPF in detail, not enough detail to learn anything but more detail than is necessary for an overview, and then go on to repeat the same topics later on. For example, did you need to talk about layout and get in to deails of the dockPanel, only to go on to talking about it again in the next chapter a few pages later?

    – One of the great strengths of Petzold’s books, and other good API tutorials, is that all the code you see is code you can type in and run stand alone, so you get a feel for how it all works together, and this code is completely seperate from the text. I found your book to have a lot of little snippets that couldn’t be used stand alone and were inline with text, making it feel like I was reading comments rather than a tutorial. As opposed to teaching you how to apply the code to real world situations, it reads more like API documentation. In a nutshell, any time I see elipsis around a block of code it’s just showing me syntax, not how to actually use it.

    – Your demo code, was, frankly, boring and didn’t build very much on earlier topics. Again, as opposed to showing you how you could apply something, it just showed you how to use it. That’s a big difference, and I find the former a better way to learn.

    – Along the same lines, you built too much on previous blocks of code and XAML without any indication earlier that you might need those blocks of code and XAML.

    I think to sum up my feeling about the book, your book is a reference, which I already have in the form of MSDN. Petzolds book is a tutorial. When I buy a book, I’m looking for something beyond what I can get on-line, and I didn’t feel like your book offered that.

    Obviously this is IMHO and YMMV, but you did ask what I didn’t like.

  13. squidbot – thanks for the feedback.

    I’d like to respond to it – I believe I can offer good answers as to why we wrote it that way on every point. Except for this first thing, on which I can provide a not so good answer.

    As far as the formatting goes – that’s just O’Reilly’s house style… Not a whole lot I can do about that, although I’ll pass your comments on to them.

    It’s interesting that you put this as a criticism:

    "I found your book to have a lot of little snippets that couldn’t be used stand alone and were inline with text"

    The statement is certainly true, I just find it a surprising target for criticism – I regard it as a positive aspect. (Indeed, I’d take it as a compliment if it weren’t for the fact that it obviously wasn’t meant as one.) The fact that they’re inline is very much deliberate. (And as for using them – see a later paragraph where I talk about the samples.) I much prefer reading books that work this way, and that’s why I write them this way.

    I like books where code is used only to illustrate the conceptual discussion. I tend dislike books that put an example centre-stage, and have the text play a supporting role of discussing the code. And I would find code that is completely separate from the text really offputting. (So perhaps I’m going to dislike that aspect of Petzold’s book when I read it.)

    It’s interesting that you describe the code examples as "demos" – it wouldn’t have occurred to me to expect demo code in a book. I can’t imagine it’s something I’d want to see in a book. (I’ve seen a lot of code used for demos at shows. It all tends to be a poor way to illustrate concepts.) Our examples are something quite different – they’re much closer in intent to figures. So it seems to me like the complaint here is really that you were looking for demos, but what we gave you were illustrations in code form, and you don’t like it that way round. Fair enough – horses for courses.

    I have a good reason for preferring it this way. I believe that the kind of code you need to illustrate a concept is completely different from the kind of code you need to be a good example of how to do something. Anything that’s good at one is almost invariably flawed as the other. So it actually worries me that you seem to be thinking of taking Petzold’s samples and using them as is. The feature you describe as being a great strenght of "good API tutorials" sounds to me like a potentially dangerous flaw. I’m aware that it’s a popular style, but I think it promotes the demo above concepts, and I think that leads to poor understanding. In my opinion, poor understanding ultimately leads to bad software.

    (O’Reilly may well produce a WPF Cookbook at some point, which may well be much closer to what you were hoping for. With those, the code is very much the point, and the text is just there to explain why the code is like it is and how it works. This is an ideal format if you want code examples you can take and use. And obviously it has to have completely different kinds of samples as a result – the samples don’t serve a pedagogical purpose, they are an end in themselves. Of course it’s also a lousy way of teaching a technology… But that’s fine – it’s not meant to do that. This is why O’Reilly offer both kinds of books.)

    By the way, did you download the samples from the web site? They’re all very much runnable in the form you find them there – you don’t even have to type them in. The downloadable example code puts every single example in a context where you can run it. So we don’t clutter up the book with a load of irrelevant stuff required just to make what you see runnable, but if you want a version of the example that’s runnable, with all the attendent clutter, we give you that. We just don’t waste paper on it. (Heck, we even give you that if you didn’t buy the book! So the examples, as present on the web, are in that sense very much usable in a way that is ‘stand alone’ from the book.)

    Here’s something you may want to bear in mind about Petzold’s book if you are planning on actually using the examples. (And it sounds like you are.) The most detailed review I’ve heard yet of that book says that the examples all build in a narrative sequence – each example both illustrates what has just been described, but also most of them go on to set up the next topic. I was told (and this may be wrong – remember I’ve not read it myself yet) that the majority of the examples are intentionally not perfect, because Petzold wants to show you a better way to do something in the next example.

    That makes for a great narrative structure. It’s an excellent way to movtivate each new topic. It also makes it a really dangerous book to copy the examples from… It means that (by narrative design) a high percentage of the code examples do something wrong.

    Regarding the opening chapter…well, it’s not the only way to do it, but again we have a good reason. I’ve been helping a lot of people learn WPF over the last two years in various settings, and time and time again, the biggest hurdle for most people seems to be that it is hard to really understand any of the details completely without understanding the big picture. (Although I gather Petzold may have found a way – my understanding from what he said in his blog is that he allowed the order to be driven heavily by dependencies, and then built a narrative around the structure that came out.)

    So I think there’s value in starting with a sufficiently detailed overview that you can start to see how things really work without getting lost in the details. It gives you a context into which to place the more detailed coverage. Does this mean there’s some redundancy? Yes. Would I want to allow total avoidance of redundancy and forward references to dictate the book structure? Not especially.

    As for "your book is a reference", I’m amazed by that claim – it really isn’t. I challenge you to try using it as your WPF reference for a day, and tell me if you still think it’s a reference – I’m pretty sure it can’t be used as one. (And not merely because it’s out of date.) It certainly wasn’t designed as one. Nor was it designed as a tutorial for that matter – or at least not my understanding of the word. I hear tutorial, and I think of step by step hand-holding guide through the building or using something; actual understanding takes second place.

    Our goal was different. Our goal was to explain the core concepts in WPF.

    Sorry the book wasn’t what you wanted. But it sounds like you wanted something very different from what we aimed to achieve, so I guess that explains why you didn’t like it.

    Thanks again for taking the time to provide feedback.

  14. Klaus RM says:

    I actually better like the book from Sells/Griffith. It has more graphics in it, so it is easier to follow what the code is suposed to do. I’m current reading Petzold’s book, and it’s also very, very good, but it miss drawings and graphics at key points in the book.

  15. Judah says:

    I’ve read a decent amount of Petzold’s Applications = Code + Markup now, and from what I have read of it, I recommend it. Although after seeing the lengthy defense of his book, I may have to check out Ian’s as well. 🙂

Skip to main content