private static void UpdateBinding(DependencyObject child, BindingUpdateType updateType) { switch (updateType) { case BindingUpdateType.Brush: UpdateBrushDependencyProperties(child); break; case BindingUpdateType.String: UpdateStringDependencyProperties(child); break; } }
private static void UpdateChildBindings(DependencyObject dependencyObject, BindingUpdateType updateType) { foreach (var child in LogicalTreeHelper.GetChildren(dependencyObject).OfType <DependencyObject>()) { UpdateBinding(child, updateType); IEnumerator enumerator = LogicalTreeHelper.GetChildren(child).GetEnumerator(); enumerator.Reset(); if (enumerator.MoveNext()) { UpdateChildBindings(child, updateType); } } }