Fireside chat about MVVM

Craig Shoemaker recently interviewed me for an episode of his Polymorphic Podcast. We touched on a quite few interesting topics, ranging from the merit of the code-behind file, to implementing Undo functionality, to the role of MVVM frameworks. You can check it out here:

5 Responses to Fireside chat about MVVM

  1. Eli says:

    Hi Josh,

    Apologies for posting this here, but I thought this would be quite important and I could not find any other way of contacting you. Please delete this post if you find it in bad taste.

    I came across your MVVM Article on MSDN
    I was having performance issues using a DataTemplate to bind a ViewModel to a View.
    Unfortunatley, I did not find the solution from reading your article but thought you might find it interesting and be able to shed some light on the performance issues I am having.

    I’m creating a WPF application using the MVVM pattern, and I’ve adopted several features from your MVVM article
    Most importantly, I’m binding a TabControl to an ObservableCollection of ViewModels. This means that am using a tabbed MDI interface that displays a UserControl as the content of a TabItem. The issue I’m seeing in my application is that when I have several tabs and I flip back and forth between tabs, the content is being refersh each time I change tabs.

    If you download run your mvvm example app, you’ll see that the app has the same problem. For example, click on the “View All Customers” button and scroll down to the bottom the ListView. Next click on the “Create New Customer” button. When you switch back to the All Customer view you’ll notice that the ListView scrolls back to the top. If you switch back to the New Customer tab and place your cursor in one of the TextBoxes, then switch to All Customers tab and back, you’ll notice that the cursor is now gone.

    Basically, this is causing performance issues and inconsistent views because the view keeps on being refreshed.

    Do you know of any way to stop the view refreshing?

    I know this is not the place to post it, but I thought I might aswell give it a go, i’m sure you get a million questions and that’s why you don’t have an option for people to contact you.

    Apologies again if it is inappropriate.

  2. A bit off topic… What is the license of code on this blog, such as the TextBlockAdorner from your 2007-08-26 post? MIT license or something similar?

  3. Josh Smith says:


    Use it, abuse it, I don’t care. But if something goes wrong, don’t sue me. It is “use at your own risk.”


  4. Syed Irtaza Ali says:

    Hi Josh,

    I have just started to work on XAML/WPF. Needed a few directions. Kindle is not available for my country. Is there another option to purchase the ebook other than DRM.



%d bloggers like this: