Procedura: Inserire un elemento in un testo a livello di codiceHow to: Insert an Element Into Text Programmatically

Nell'esempio seguente viene illustrato come utilizzare due TextPointer oggetti per specificare un intervallo all'interno del testo per applicare un Span elemento.The following example shows how to use two TextPointer objects to specify a range within text to apply a Span element to.

EsempioExample

using System;
using System.Windows;
using System.Windows.Media;
using System.Windows.Controls;
using System.Windows.Documents;

namespace SDKSample
{
    public partial class InsertInlineIntoTextExample : Page
    {
        public InsertInlineIntoTextExample()
        {
 
            // Create a paragraph with a short sentence
            Paragraph myParagraph = new Paragraph(new Run("Neptune has 72 times Earth's volume..."));

            // Create two TextPointers that will specify the text range the Span will cover
            TextPointer myTextPointer1 = myParagraph.ContentStart.GetPositionAtOffset(10);
            TextPointer myTextPointer2 = myParagraph.ContentEnd.GetPositionAtOffset(-5);

            // Create a Span that covers the range between the two TextPointers.
            Span mySpan = new Span(myTextPointer1, myTextPointer2);
            mySpan.Background = Brushes.Red;
            
            // Create a FlowDocument with the paragraph as its initial content.
            FlowDocument myFlowDocument = new FlowDocument(myParagraph);

            this.Content = myFlowDocument;

        }
    }
}

Imports System
Imports System.Windows
Imports System.Windows.Media
Imports System.Windows.Controls
Imports System.Windows.Documents

Namespace SDKSample
	Partial Public Class InsertInlineIntoTextExample
		Inherits Page
		Public Sub New()

			' Create a paragraph with a short sentence
			Dim myParagraph As New Paragraph(New Run("Neptune has 72 times Earth's volume..."))

			' Create two TextPointers that will specify the text range the Span will cover
			Dim myTextPointer1 As TextPointer = myParagraph.ContentStart.GetPositionAtOffset(10)
			Dim myTextPointer2 As TextPointer = myParagraph.ContentEnd.GetPositionAtOffset(-5)

			' Create a Span that covers the range between the two TextPointers.
			Dim mySpan As New Span(myTextPointer1, myTextPointer2)
			mySpan.Background = Brushes.Red

			' Create a FlowDocument with the paragraph as its initial content.
			Dim myFlowDocument As New FlowDocument(myParagraph)

			Me.Content = myFlowDocument

		End Sub
	End Class
End Namespace

Nella figura riportata di seguito viene illustrato l'esempio in questione.The illustration below shows what this example looks like.

Elemento Span applicato a un intervallo di testoA Span element applied to a range of text

Vedere ancheSee Also

Cenni preliminari sui documenti dinamiciFlow Document Overview