Condividi tramite


Procedura: inserire un elemento in un testo a livello di codice

Nell'esempio riportato di seguito viene illustrato come utilizzare due oggetti TextPointer per specificare un intervallo all'interno del testo a cui applicare un elemento Span.

Esempio


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
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;

        }
    }
}

Nella figura riportata di seguito viene illustrato l'esempio in esame.

Elemento Span applicato a un intervallo di testo

Vedere anche

Concetti

Cenni preliminari sui documenti dinamici