Změna výběru v richtextboxu prostřednictvím kódu programu
Tento příklad ukazuje, jak programově změnit aktuální výběr v RichTextBox. Tento výběr je stejný jako v případě, že uživatel vybral obsah pomocí uživatelského rozhraní.
Příklad kódu pro ovládací prvek RichTextBox
Následující kód XAML (Extensible Application Markup Language) popisuje pojmenovaný RichTextBox ovládací prvek s jednoduchým obsahem.
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://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>
Příklad kódu pro výběr textu z RichTextBoxu
Následující kód programově vybere libovolný text, když uživatel klikne uvnitř 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);
}
}
}
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Documents
Namespace SDKSample
Partial Public Class ChangeSelectionProgrammaticaly
Inherits Page
' Change the current selection.
Private Sub ChangeSelection(ByVal sender As Object, ByVal args As RoutedEventArgs)
' Create two arbitrary TextPointers to specify the range of content to select.
Dim myTextPointer1 As TextPointer = myParagraph.ContentStart.GetPositionAtOffset(20)
Dim myTextPointer2 As TextPointer = myParagraph.ContentEnd.GetPositionAtOffset(-10)
' Programmatically change the selection in the RichTextBox.
richTB.Selection.Select(myTextPointer1, myTextPointer2)
End Sub
End Class
End Namespace
Viz také
Spolupracujte s námi na GitHubu
Zdroj tohoto obsahu najdete na GitHubu, kde můžete také vytvářet a kontrolovat problémy a žádosti o přijetí změn. Další informace najdete v našem průvodci pro přispěvatele.
.NET Desktop feedback