protected override bool ProcessListOverride( XmlReader reader, object listOwner, PropertyDescriptor ownerProperty, IList list) { if (list is GridViewTemplateCollection) { this.ReadMergeCollection(reader, listOwner, ownerProperty, list, (string)null); return(true); } if (!(list is GridViewColumnCollection)) { return(base.ProcessListOverride(reader, listOwner, ownerProperty, list)); } GridViewColumnCollection columnCollection = list as GridViewColumnCollection; columnCollection.BeginUpdate(); FilterDescriptorCollection descriptorCollection = (FilterDescriptorCollection)null; if (columnCollection.Owner != null) { descriptorCollection = columnCollection.Owner.FilterDescriptors; } descriptorCollection?.BeginUpdate(); for (int index = 0; index < list.Count; ++index) { GridViewDataColumn gridViewDataColumn = list[index] as GridViewDataColumn; if (gridViewDataColumn != null) { gridViewDataColumn.FilterDescriptor = (FilterDescriptor)null; } } this.ReadMergeCollection(reader, listOwner, ownerProperty, list, "UniqueName"); descriptorCollection?.EndUpdate(); columnCollection.EndUpdate(); return(true); }