다음을 통해 공유


프로그래밍 방식으로 RichTextBox의 선택 변경

업데이트: 2007년 11월

이 예제에서는 RichTextBox의 현재 선택을 자동으로 변경하는 방법을 보여 줍니다. 이 선택은 사용자가 사용자 인터페이스를 사용하여 콘텐츠를 선택한 것과 같습니다.

예제

다음 XAML(Extensible Application Markup Language) 코드에서는 간단한 콘텐츠가 있는 이름이 지정된 RichTextBox 컨트롤을 설명합니다.

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

다음 코드에서는 사용자가 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);
        }
    }
}

참고 항목

개념

RichTextBox 개요

TextBox 개요