0

wpf RichTextBoxの選択範囲にハイパーリンクを追加するにはどうすればよいですか?

たとえば、RichTextBox に次のように表示されているとします。

「私をスタック オーバーフローに送ってください。」

「オーバーフロー」を強調表示し、ボタンをクリックしてハイパーリンクを作成し、「www.stackoverflow.com」に移動するにはどうすればよいですか?

また、コードからテキストを強調表示しようとしていますが、その方法がわかりません。RichTextBox 全体を強調表示するために、これを試しましたが、うまくいきませんでした:

    TextPointer myTextPointer1 = rtb.Document.ContentStart;
    TextPointer myTextPointer2 = rtb.Document.ContentEnd;

    rtb.Selection.Select(myTextPointer1, myTextPointer2);
4

1 に答える 1

1
    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);
于 2012-05-31T20:46:03.490 に答える