private static void OnValueChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args) { var grid = (ItemsWrapGrid)obj; if (grid != null) { var eventRegistration = new GridSizeChangedRegistration(grid); grid.Loaded -= eventRegistration.OnLoaded; grid.Loaded += eventRegistration.OnLoaded; grid.Unloaded -= eventRegistration.OnUnloaded; grid.Unloaded += eventRegistration.OnUnloaded; UpdateElement(grid); } }