超链接 wpf RichTextBox 中的选定文本并从代码中设置选择

本文关键字:代码 文本 设置 选择 wpf RichTextBox 超链接 | 更新日期: 2023-09-27 18:35:51

如何在 wpf 富文本框中添加指向所选内容的超链接?

例如,如果我的富文本框说:

"送我去堆栈溢出。"

我突出显示"溢出",然后单击一个按钮以从中创建一个超链接以转到"www.stackoverflow.com"我该如何实现这一点?

另外,我正在尝试突出显示代码中的文本,但我不知道如何。为了突出显示整个富文本框,我已经尝试过这个,但它没有奏效:

    TextPointer myTextPointer1 = rtb.Document.ContentStart;
    TextPointer myTextPointer2 = rtb.Document.ContentEnd;
    rtb.Selection.Select(myTextPointer1, myTextPointer2);

超链接 wpf RichTextBox 中的选定文本并从代码中设置选择

    TextSelection ts = rtb.Selection;
    TextPointer start = ts.Start;
    TextPointer end = ts.End;
    TextRange before = new TextRange(rtb.Document.ContentStart, start);
    TextRange after = new TextRange(end, rtb.Document.ContentEnd);
    TextRange linker = new TextRange(start, end);
    Paragraph myParagraph = new Paragraph();
    myParagraph.Inlines.Clear();
    myParagraph.Inlines.Add(before.Text);
    Hyperlink hyperLink = new Hyperlink();
    hyperLink.Inlines.Add(ts.Text);
    hyperLink.Click += new RoutedEventHandler(hyperLink_Click);
    myParagraph.Inlines.Add(hyperLink);
    myParagraph.Inlines.Add(after.Text);
    rtb.Document.Blocks.Clear();
    rtb.Document.Blocks.Add(myParagraph);