public virtual void Remove (ColumnHeader column)
{
if (!Contains (column))
return;
list.Remove (column);
column.SetListView (null);
int rem_display_index = column.InternalDisplayIndex;
int [] display_indices = new int [list.Count];
for (int i = 0; i < display_indices.Length; i++) {
ColumnHeader col = (ColumnHeader) list [i];
int display_index = col.InternalDisplayIndex;
if (display_index < rem_display_index) {
display_indices [i] = display_index;
} else {
display_indices [i] = (display_index - 1);
}
}
column.InternalDisplayIndex = -1;
owner.ReorderColumns (display_indices, true);
//UIA Framework event: Item Removed
OnUIACollectionChangedEvent (new CollectionChangeEventArgs (CollectionChangeAction.Remove, column));
}