void OnDataContextChanged(object sender, DependencyPropertyChangedEventArgs e) { var expression = GetBindingExpression(DataContextProperty); if (expression != null) { var settings = expression.ResolvedSource as INotifyPropertyChanged; var propertyName = expression.ResolvedSourcePropertyName; if (settings != _settings || propertyName != _propertyName) { _settings = settings; _propertyName = propertyName; if (settings != null && propertyName != null) { var nudger = SettingsSerializer.FindNudger(settings, propertyName); Nudger = nudger; } } } }