Guided Tour

I wrote a series of introductory WPF articles on the CodeProject.  The goal of those articles is to bring someone with no WPF experience up-to-speed enough so that (s)he can fully understand how the series’ demo application works.  This page serves as a table of contents for that series.

Part 1 (XAML)

Part 2 (Layout)

Part 3 (Data binding)

Part 4 (Data templates and triggers)

Part 5 (Styles)


50 Responses to Guided Tour

  1. […] I ran across this series of 4 articles while browsing for some quick WPF knowledge. Josh has done a great job of exposing folks to the basic WPF info while supplying some great links to other relevant content. Check him out here: […]

  2. Hiew says:

    Thanks for the set of articles. Have been looking around for a quick and easy way to get up to speed on WPF and your articles are the best thing I have come across on the Web. You should consider writing books.

  3. Josh Smith says:


    Thanks a lot for the kind words! 😀


  4. Yuri says:

    Indeed, the stuff is topical is definitely well-structured.
    Keep up the work 🙂

  5. DRussell says:

    Nice job Smith. Nice job.

    Very informative.

  6. Josh Smith says:

    Thanks Dr. Ussell 😀

  7. Mike D says:

    Great article. Thanks Josh!

  8. […] Smith has a nice series of introductory WPF articles up on the CodeProject. The goal of those articles is to bring someone with no WPF experience […]

  9. Josh Smith says:

    Thanks for the feedback and pingback, Mike. 🙂


  10. K. Feroz says:

    Indeed its a very helpful work you did Smith. Parhaps I should be honest to thank you as I was really wondering for some kind of introduction to WPF coding stuff, but not going into the hassles of reading tons of material. And I found it here… a quick and fast start. Thanks Smith.

  11. Josh Smith says:


    I’m glad you liked it.


  12. Tilak says:


    indeed you did a great job ! i am a student and i can not express how much your articles helped to get my hands on WPF !

    thanks a lot.

  13. Hi josh says:

    Hi josh there any way to subscribe to you wpf/e blog.

    I really like you writing .. and will be happy to learn from you.

    I also got Avery unsolved problem view xbap deployment.

    you can check him here by nick name epsilone3.

    so you got my mail you can subscribe me automatically.

    10x allot.


  14. Taco van Ieperen says:

    Thanks for taking the time to do this. This is the best introduction to WPF I’ve seen. Fantastic work!

  15. Josh Smith says:

    Thanks a lot, Taco!

  16. Daniel says:

    You might want to fix those links, codeprojects changed the URLs to those articles. I found out after trying google cache and Sure would help visitors of your site. is now, and the articles have an aspx extension now.

  17. Josh Smith says:


    Thanks a lot for pointing that out! Most appreciated.


  18. Nicolai Rykov says:

    Thanks for good articles about databinding in WPF! 🙂

  19. Koen van Extel says:

    Thanks for the amazing tutorial, altho you should change the article extension to .aspx like Daniel says 😉

    But again, great job on the article and I’m really starting to become a fan of your work.

  20. Per says:

    Thanks for good artickes about the wpf 🙂

  21. adminjew says:

    Great stuff:)

  22. icada says:

    Great article! Applied xaml and data binding reading to the WPF library I downloaded from

  23. Getting Started with WPF

    I don’t know about you, but it seems more difficult to get started with Windows Presentation Foundation (WPF) than it should be. I’ve been dabbling with it for a while, but I recently wanted to build a client-side application to track my…

  24. Hiren shah says:

    I want to create gradient maker like in blend.
    i want to use it insted of color picker.
    how do i do this any sample code do you have
    i will be very thankful to you if you can help me in this regards.

  25. Sumeet Chawla says:

    Hello Josh, I have seen all the WPF tutorial articles you have uploaded on . Great job and has been very helpful to me too. Am like totally new to this WPF thing though i have some experience in Windows Form Applications. I would like to create the applications in WPF which i create using windows forms. For the time being i am unable to to get any good tutorial on viewport 3d or on how to flip controls in 3d.
    I want to learn the similar thing which Ian Griffith has done in his demo
    I have no experience in XAML at all… please help me out!

  26. sanaz says:

    Hi Josh

    im in training wpf and I have alot problem
    can you help me of this.
    How can I have a TreeView UserControl that it get only Itemsource(Ilist or …)
    and Generate outomaticaly sutible Levels For each Nested Object.
    I don want to use HirarchcalDataTemplate.

  27. […] library here[^] You can check out his WPF blog here[^]. You can take his guided tour of WPF here[^]. You can check out a powerful debugger visualizer he worked on called Mole for Visual […]

  28. Joshua Smith says:

    I’ve been using ASP.Net / MVC my entire career, and just made a shift toward Silverlight and these articles have been great. Very informative and well structured, helped me get up to speed very quickly.

    Also, nice name 🙂

  29. Nirav Raval says:

    I tried to use “Animating Interactive 2D Elements in a 3D Panel” with database connection. but unfortunately I am not able to do the same. can you help me to get out from it ?

    I tried to assign values from datatable, but it does not reflect… it only work with the data what i have assigned at design time with xml source.


  30. Yuri says:

    Nice website, here is another good WPF resource:

  31. Raman Middha says:

    nice way of presentation…….very informative

  32. Raman Middha says:

    nice way of presentation.

  33. BG says:

    I am doing something very similar to what you are doing but am seeing something odd, perhaps you are as well.

    When I switch between various viewmodels, I get a new instance of the view.

    For example, I have a ListView of IMyViewModel objects. I then show the selected object in a ContentControl. So, if I switch from MyViewModelA to MyViewModelB and then back to MyViewModelA , the constructor of the MyViewA control would end up being called twice.

    I expect my users to be switching b/w controls/VMs very regularly and don’t want a bunch of old controls sitting around for each view model I instantiate.

    Anyone have any idea why this may be happening?

    Tks much.

  34. […] A Guided Tour of WPF by Josh Smith […]

  35. Excoded says:

    That’s exactly what I’m looking for. Thanks for the training articles. That’ll be great if MVVM is included.

  36. […] Josh Smith: A guided tour to WPF […]

  37. Minlian says:

    Nice Job.
    Can you please help me explain how ro crack application? I used .net reflector but I think the code are protected.

  38. […] A Guided Tour of WPF by Josh Smith […]

  39. […] grande fonctionnalité pour que. Elle est appelée "liaison de données". Pour commencer avec WPF ceci devrait vous aider. ahem.. WinForms avait de liaison de données 🙂 Je ne mentionne pas le […]

  40. […] A Guided Tour of WPF by Josh Smith […]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: