private static void ShouldTrackFillChangeChanged(DependencyObject target, DependencyPropertyChangedEventArgs args) { Ellipse ellipse = (Ellipse)target; DependencyPropertyWatcher <Brush> watcher = GetEllipseFillWatcher(ellipse); if (watcher != null) { watcher.Dispose(); } if ((bool)args.NewValue) { watcher = new DependencyPropertyWatcher <Brush>(ellipse, "Fill", Ellipse_FillChanged); SetEllipseFillWatcher(ellipse, watcher); } }
private static void SetEllipseFillWatcher(DependencyObject obj, DependencyPropertyWatcher <Brush> value) { obj.SetValue(EllipseFillWatcherProperty, value); }