internal void ClearInvalidProperties(DependencyObject dependencyObject, Style incomingStyle, DependencyPropertyValuePrecedences precedence) { var oldSetters = CreateSetterMap(); var newSetters = incomingStyle?.CreateSetterMap(); foreach (var kvp in oldSetters) { if (kvp.Key is DependencyProperty dp) { if (newSetters == null || !newSetters.ContainsKey(dp)) { DependencyObjectExtensions.ClearValue(dependencyObject, dp, precedence); } } } }