private void OnPropertyChangedWithPath(object sender, ExtendedPropertyChangedEventArgs e) { if (e.OldValue != null && _next.TryRemove(e.OldValue, out var oldTrigger)) { oldTrigger.Dispose(); } if (e.NewValue != null) { var handler = Handler; _next.GetOrAdd(e.NewValue, o => _path.GetTriggerB(NotifyClassHelper.GetHelper(o), handler)); } }
private void OnPropertyChangedWithPath(object sender, ExtendedPropertyChangedEventArgs e) { _next?.Dispose(); if (Handler.TryGetTarget(out var handler)) { if (e.NewValue == null) { _next = null; } else { var nextParser = NotifyClassHelperBase.GetHelper(e.NewValue); _next = _path.GetTriggerB(nextParser, handler); } } else { _next = null; } }