Ejemplo n.º 1
0
 private void Update(INotifierProperty property)
 {
     if (_propertyEntries.TryGetValue(property, out var entry))
     {
         entry.Update(true);
     }
 }
Ejemplo n.º 2
0
 public INotifierPropertyEntry GetPropertyEntry(INotifierProperty property)
 => _propertyEntries.GetOrAdd(property, p =>
 {
     var e              = property.GetNewEntry(Target);
     e.PropertyChanged += (o, a) => OnPropertyChanged(a);
     return(e);
 });
Ejemplo n.º 3
0
 private bool IsSet(INotifierProperty property)
 {
     if (_propertyEntries.TryGetValue(property, out var entry))
     {
         return(entry.IsSet);
     }
     return(false);
 }
Ejemplo n.º 4
0
 public INotifierPropertyEntry <T> GetPropertyEntry <T>(INotifierProperty <T> property)
 {
     return((INotifierPropertyEntry <T>)_propertyEntries.GetOrAdd(property, p =>
     {
         var target = Target;
         var e = property.GetNewEntry(target);
         e.PropertyChanged += (o, a) => OnPropertyChanged(a);
         return e;
     }));
 }
Ejemplo n.º 5
0
        private bool Set <T>(T value, INotifierProperty <T> property, Action <T, T> postUpdateAction = null)
        {
            //using (Suspend.Get())
            {
                var entry = GetPropertyEntry(property);

                //(INotifierPropertyEntry<T>)_propertyEntries.GetOrAdd(property, (oldValue) =>
                //{

                //    return property.GetNewEntry(Target);
                //});
                return(entry.Set(value, true, postUpdateAction));
            }
        }
Ejemplo n.º 6
0
 public void Subscribe(INotifierProperty triggeredProperty, INotifierProperty targetProperty, TriggerPath path)
 {
     GetPropertyEntry(targetProperty).Subscribe(GetPropertyEntry(triggeredProperty).OnTrigger, path);
 }
Ejemplo n.º 7
0
 private T Get <T>(Func <T> getter, INotifierProperty <T> property /*, Action postUpdateAction = null*/)
 {
     return(GetPropertyEntry <T>(property).Get(o => getter()));
 }
Ejemplo n.º 8
0
 public NotifierPropertyEntry(INotifyPropertyChanged target, INotifierProperty <T> property)
 {
     _target  = target;
     Property = property;
 }