private static void RestoreLocalValue(Dictionary <DependencyProperty, object> store, ColumnBase column, DependencyProperty property) { Debug.Assert(store != null); Debug.Assert(column != null); Debug.Assert(property != null); object value; if (!store.TryGetValue(property, out value) || (value == DependencyProperty.UnsetValue)) { column.ClearValue(property); } else if (value is BindingBase) { BindingOperations.SetBinding(column, property, ( BindingBase )value); } else { column.SetValue(property, value); } }