// Token: 0x06003AFD RID: 15101 RVA: 0x0010A660 File Offset: 0x00108860 internal virtual void InsertEmbeddedUIElementVirtual(FrameworkElement embeddedElement) { Invariant.Assert(this.HasConcreteTextContainer, "Can't insert embedded object to non-TextContainer range!"); Invariant.Assert(embeddedElement != null); TextRangeBase.BeginChange(this); try { this.Text = string.Empty; TextPointer textPointer = TextRangeEditTables.EnsureInsertionPosition(this.Start); Paragraph paragraph = textPointer.Paragraph; if (paragraph != null) { if (Paragraph.HasNoTextContent(paragraph)) { BlockUIContainer blockUIContainer = new BlockUIContainer(embeddedElement); blockUIContainer.TextAlignment = TextRangeEdit.GetTextAlignmentFromHorizontalAlignment(embeddedElement.HorizontalAlignment); paragraph.SiblingBlocks.InsertAfter(paragraph, blockUIContainer); paragraph.SiblingBlocks.Remove(paragraph); this.Select(blockUIContainer.ContentStart, blockUIContainer.ContentEnd); } else { InlineUIContainer inlineUIContainer = new InlineUIContainer(embeddedElement); TextPointer textPointer2 = TextRangeEdit.SplitFormattingElements(this.Start, false); textPointer2.InsertTextElement(inlineUIContainer); this.Select(inlineUIContainer.ElementStart, inlineUIContainer.ElementEnd); } } } finally { TextRangeBase.EndChange(this); } }