internal Target(Action <ISettingsSerializationContext, string> doSerialization) { var context = new NudgerFinder(this, nameof(Value)); doSerialization(context, nameof(Value)); _nudger = context.Nudger; }
public override void Serialize(string name, ValueNudgerFactory factory) { if (factory != null && name == _targetName) { Debug.Assert(Nudger == null, "Should not have found a previous match"); Nudger = factory(); Debug.Assert(Nudger != null, "Should now have a match"); } }
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; } } } }
internal Target(Func <Target <T>, IValueNudger> getNudger) { _nudger = getNudger(this); }