INotifyPropertyChanged vs. DependencyProperty in ViewModel

Kent wrote an interesting blog about this topic: View Models: POCOs versus DependencyObjects.

Short summary:

  1. DependencyObjects are not marked as
    serializable
  2. The DependencyObject class overrides and seals the Equals() and
    GetHashCode() methods
  3. A DependencyObject has thread affinity – it can only be accessed
    on the thread on which it was
    created

I prefer the POCO approach. A base class for PresentationModel (aka ViewModel) which implements INotifyPropertyChanged interface can be found here: http://compositeextensions.codeplex.com

Leave a Comment