protected override void OnItemRemoving(ColumnBase item) { Debug.Assert(item != null); item.PropertyChanged -= new PropertyChangedEventHandler(this.OnColumnPropertyChanged); item.RealizedContainersRequested -= new RealizedContainersRequestedEventHandler(this.OnColumnRealizedContainersRequested); item.ActualWidthChanged -= new ColumnActualWidthChangedEventHandler(this.OnColumnActualWidthChanged); item.DistinctValuesRequested -= new DistinctValuesRequestedEventHandler(this.OnColumnDistinctValuesRequested); item.DetachFromContainingCollection(); base.OnItemRemoving(item); }