Guide pratique pour insérer un élément dans du texte par programmation
L’exemple suivant montre comment utiliser deux objets TextPointer pour spécifier une plage au sein du texte pour appliquer un élément Span.
Exemple
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.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
L’illustration ci-dessous montre à quoi ressemble cet exemple.
Voir aussi
Collaborer avec nous sur GitHub
La source de ce contenu se trouve sur GitHub, où vous pouvez également créer et examiner les problèmes et les demandes de tirage. Pour plus d’informations, consultez notre guide du contributeur.
.NET Desktop feedback