public void Clear() { LinkedListNode <Run> curNode = this.First; while (curNode != null) { Run.RemoveParentLink(curNode.Value); curNode = curNode.Next; } _runs.Clear(); _cacheCharCount = 0; _validCharCount = true; }
public void Remove(Run v) { //#if DEBUG // if (v.IsLineBreak) // { // throw new NotSupportedException("not support line break"); // } //#endif _runs.Remove(GetLineLinkNode(v)); Run.RemoveParentLink(v); if ((_lineFlags & LOCAL_SUSPEND_LINE_REARRANGE) != 0) { return; } if (!this.EndWithLineBreak && this.RunCount == 0 && _currentLineNumber > 0) { if (!_textFlowLayer.GetTextLine(_currentLineNumber - 1).EndWithLineBreak) { _textFlowLayer.Remove(_currentLineNumber); } } else { //var ownerVe = editableFlowLayer.OwnerRenderElement; //if (ownerVe != null) //{ // RenderElement.InnerInvalidateLayoutAndStartBubbleUp(ownerVe); //} //else //{ // throw new NotSupportedException(); //} } }