public static CoercionState LeaveCoercion(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs args) { var key = (dependencyObject, args.Property); var coerceState = CoercionObjects[key]; CoercionObjects.Remove(key); return(coerceState); }
public static bool EnterCoercion(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs args) { var key = (dependencyObject, args.Property); try { return(CoercionObjects.TryGetValue(key, out var coerceState) == false); } finally { CoercionObjects[key] = new CoercionState(args); } }