невозможно выделить текст в RichTextBox - PullRequest
0 голосов
/ 19 января 2012

У меня есть образец RichTextBox:

<RichTextBox Name="RichTextBox1">
    <RichTextBox.Document>
        <FlowDocument>
            <Paragraph>tveg56ybhj6e7</Paragraph>
            <Paragraph>54 h46u7h 468 j58ik9mm</Paragraph>
            <Paragraph>456 h467h 566ybhj6e7</Paragraph>
        </FlowDocument>
    </RichTextBox.Document>
</RichTextBox>

Попытка выделить весь текст в RichTextBox:

    FlowDocument doc = this.RichTextBox1.Document;
    this.RichTextBox1.Selection.Select(doc.ContentStart, doc.ContentEnd);

Но, похоже, ничего не выбрано. Что я делаю не так?

Ответы [ 4 ]

5 голосов
/ 19 января 2012

Вы можете просто выделить весь текст в поле расширенного текста richtextboxName.Select (); а затем поместить в буфер обмена вы можете использовать richtextboxName.Copy (); с помощью кодирования вы можете получить весь текст в поле расширенного текста, используя эту команду

string myText = new TextRange(richtextboxName.Document.ContentStart,        richtextboxName.Document.ContentEnd).Text;
1 голос
/ 19 января 2012

На самом деле это работа, но вы не видите выбора, потому что просто теряете фокус. Фокус теперь на кнопке

Попробуйте добавить эту строку после:

this.RichTextBox1.Focus();
0 голосов
/ 01 октября 2014
richTextBox.IsInactiveSelectionHighlightEnabled = true;
0 голосов
/ 19 января 2012

Это, вероятно, потому что, когда вы используете FlowDocument, вы должны проверить контекст указателя с помощью метода TextPointer.GetPointerContext().

Вы можете попробовать использовать предложенный здесь метод: Программно выбрать диапазон текста в WPF RichTextBox (FlowDocument) . Ответ написан на VB.NET, однако, человек, задающий вопрос, написал его в C #.

Если у вас возникли проблемы при использовании этого решения, сообщите мне.

...