Windows Presentation Foundation Unleashed (WPF)

Category: Operating Systems
Author: Adam Nathan
All Stack Overflow 30
This Month Stack Overflow 10


by JaredPar   2019-07-21

I also come from a WinForms background and the best book I've found is "Windows Presentation Foundation Unleashed" by Adam Nathan.


It's a very XAML focused book. I feel is very important for a WinForms guy because you have to get out of the mindset that code controls your UI. XAML is kind in the WPF world and you need to get into the habbit of starting in XAML vs. code.

by anonymous   2019-07-21

I've just started WPF myself, and I can highly recommend Adam Nathan's book: 'WPF Unleashed'. . It has a friendly style with lots of colour illustrations. It also seeks to teach by example. I would also suggest you download Vertigo's Family.Show and 'dig around under the bonnet'. This is a teaching application that uses every trick in the WPF book it can: styles, templates and the suchlike. Get it from

by anonymous   2019-07-21

After a lot more searching and leafing through the incredibly useful "Windows Presentation Foundation Unleashed" - I was presented with a link to a site where they supplied a project template to achieve my exact requirement.

For anyone else interested the link is below:


by anonymous   2019-07-21

A WPF Button (or ToggleButton) is a content control, into which you can put anything.

I haven't checked, but these buttons probably have a horizontal stack panel or a DockPanel, with an Image and then one or two TextBlocks. You could make a template for these, and also use binding to set the TextBlock Text content from your viewmodel.

Snoop ( ) is a great tool for finding out how other people have built things in WPF.

The Adam Nathan WPF book is excellent, and if you don't have it you should get it.

Here's an example:

  <ToggleButton Height="24" Width="100">
      <Image Source="c:\\temp\\me.jpg" Margin="3"/>
      <TextBlock Text="20 Errors"/>
by anonymous   2019-07-21

I would have a look at Adam Nathan's excellent Windows Presentation Foundation Unleashed book. I started from a web background as well (though that was a couple years ago), and after making it through the first bit of his book, laying things out with WPF just clicked. For me, it wasn't until I understood that there were different types of panels that laid things out differently, and that I could express what I wanted to accomplish in a number of different ways (e.g. a DockPanel with one child set to DockPanel.Dock="Bottom" usually has the same result as a two-row Grid with the first row's height set to * and the second row's height set to Auto) that I really felt comfortable laying things out in WPF.

Nathan's book is good because he explains in detail how each of the panels work on a very basic level. Once you've got the basics down pat, looking at samples and trying things out with Blend becomes pretty straightforward, and you'll soon start to see the layout patterns that more seasoned WPF/SL developers see every day... and want to apply to web content!

by anonymous   2017-08-20

It's going to be one of those 'it depends' answers but all it really depends on is if you're the kind of developer that tries to continually improve your skills. If that's the case then it comes down to a couple of things ultimately.

Buy WPF Unleashed (others books are available but I whole-heatedly recommend this one), work through the examples and in about 2 months or so you'll wonder how you ever got things done without it.

It's not rocket science and there are no paradigm shifting concepts to deal with. In fact, if you are used to keeping a good separation between your logic and presentation it should fit right in.

To get to a level of mastery you're probably looking between 6 and 12 months of playing with it.

Good luck.

by Kevin Berridge   2017-08-20

I'd recommend the book Windows Presentation Foundation Unleashed by Adam Nathan

Then I'd recommend you write an application. Like every other dev environment, there are no perfect guidelines. You have to find the ones that make the most sense for your circumstance. The only way to do that is to just start coding.

As for tools, Visual Studio 2008 [Express] is your best bet. Or you might be able to limp along with XamlPad.