In WPF for binding model data to UI you can choose DependencyObject or INotifyPropertyChanged with POCO.
I normally selected INotifyPropertyChanged with POCO because of code readability and easy to understand.
Now I have found a useful article about this topic. You can see the details from the following link.
One important thing is that DependencyObject has a relationship with thread affinity. I think that this is big weakness of DependencyObject even though it can bring a little bit of performance benefits.