private static void EnablePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { if (!(d is DataGrid dataGrid)) { return; } bool enable = (bool)e.NewValue; CollectionUpdateHandler handler = GetHandler(dataGrid); if (handler == null) { handler = new CollectionUpdateHandler(dataGrid); SetHandler(dataGrid, handler); } handler.Enable = enable; }
/// <summary> /// <see cref="HandlerProperty"/> Set /// </summary> /// <param name="obj">DataGrid</param> /// <param name="value">Handler</param> private static void SetHandler(DataGrid obj, CollectionUpdateHandler value) => obj.SetValue(HandlerProperty, value);