Modifica della selezione a livello di codice in un oggetto RichTextBox
Aggiornamento: novembre 2007
In questo esempio viene illustrato come cambiare a livello di codice la selezione corrente in un oggetto RichTextBox. Tale selezione equivale all'operazione di scelta del contenuto tramite l'utilizzo dell'interfaccia utente.
Esempio
Nel codice Extensible Application Markup Language (XAML) riportato di seguito viene descritto un controllo RichTextBox denominato con contenuto semplice.
<Page xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
x:Class="SDKSample.ChangeSelectionProgrammaticaly" >
<StackPanel>
<RichTextBox GotMouseCapture="ChangeSelection" Name="richTB">
<FlowDocument>
<Paragraph Name="myParagraph">
<Run>
When the user clicks in the RichTextBox, the selected
text changes programmatically.
</Run>
</Paragraph>
</FlowDocument>
</RichTextBox>
</StackPanel>
</Page>
Nell'esempio di codice riportato di seguito viene selezionato a livello di codice del testo arbitrario quando si fa clic nell'oggetto RichTextBox.
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
namespace SDKSample
{
public partial class ChangeSelectionProgrammaticaly : Page
{
// Change the current selection.
void ChangeSelection(Object sender, RoutedEventArgs args)
{
// Create two arbitrary TextPointers to specify the range of content to select.
TextPointer myTextPointer1 = myParagraph.ContentStart.GetPositionAtOffset(20);
TextPointer myTextPointer2 = myParagraph.ContentEnd.GetPositionAtOffset(-10);
// Programmatically change the selection in the RichTextBox.
richTB.Selection.Select(myTextPointer1, myTextPointer2);
}
}
}