H τεχνική με τα OnTitleChanged, OnDataChanged, κλπ, είναι ο τρόπος που υποστήριζαν data binding τα objects επί εποχής .NET Framework 1.1. To INotifyPropertyChanged εμφανίστηκε στο .NET Framework 2.0 και ισχύει από τότε (δες σχετική κουβέντα
εδώ). Προφανώς, ο data binding μηχανισμός του WPF υποστηρίζει για λόγους συμβατότητας και την προηγούμενη υλοποίηση. Γενικά το INotifyPropertyChanged επιτρέπει πιο "καθαρά" impementations και πιο "έξυπνα" αν το συνδυάσεις με ολίγη από reflection και caching των event args. Τέλος, στο WPF υπάρχει και η επιλογή του να φτιάξεις custom dependency properties για τις κλάσεις σου και να κάνεις bind σε αυτά. Τα dependency properties είναι *μαγικά* properties, properties σε στεροειδή και ανάμεσα στα άλλα επιτρέπουν στον binding μηχανισμό να επεκταθεί και στο styling και στο animation.
Vir prudens non contra ventum mingit