/// <summary> /// Delete the content between a markup range from the document. /// </summary> /// <param name="selection"></param> private void DeleteContent(MarkupRange selection) { //there is nothing being deleted, so just return //Note: this avoids overhead associated with needlessly notifying that the content changed if (selection.Start.IsEqualTo(selection.End)) { return; } IUndoUnit undo = CreateUndoUnit(); using (undo) { try { selection.RemoveContent(); } catch (Exception e) { Trace.Fail("error while deleting selection: " + e.Message, e.StackTrace); throw e; } undo.Commit(); } }