Bagikan melalui


Ubah Pilihan dalam RichTextBox Secara Terprogram

Contoh ini menunjukkan cara mengubah pilihan saat ini secara terprogram dalam RichTextBox. Pilihan ini sama seperti jika pengguna telah memilih konten dengan menggunakan antarmuka pengguna.

Contoh kode untuk kontrol RichTextBox

Kode Extensible Application Markup Language (XAML) berikut ini menjelaskan kontrol bernama RichTextBox dengan konten sederhana.

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

Contoh kode untuk memilih teks dari RichTextBox

Kode berikut secara terprogram memilih beberapa teks arbitrer saat pengguna mengklik di dalam 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

Lihat juga