Ejemplo n.º 1
0
            internal Target(Action <ISettingsSerializationContext, string> doSerialization)
            {
                var context = new NudgerFinder(this, nameof(Value));

                doSerialization(context, nameof(Value));
                _nudger = context.Nudger;
            }
Ejemplo n.º 2
0
        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;
                    }
                }
            }
        }
Ejemplo n.º 4
0
 internal Target(Func <Target <T>, IValueNudger> getNudger)
 {
     _nudger = getNudger(this);
 }