private void PerformClose() { DockControl dockControl = DockPane.DockControl; dockControl.BeginUndoUnit(); var visibleItems = DockPane.VisibleItems; DockItem[] dockItems = new DockItem[visibleItems.Count]; visibleItems.CopyTo(dockItems, 0); foreach (DockItem dockItem in dockItems) { dockItem.PerformClose(); } dockControl.EndUndoUnit(); }