0

我想在当前插入符号位置将带有 displayText 的超链接插入到 Richtextbox 中,当用户单击“确定”按钮时,我正在显示一个弹出窗口供用户输入 linkURL 和 linkText 应插入带有显示文本的超链接在 RichTextBox 中的当前插入符号位置。

提前致谢。

4

1 回答 1

1

测试此代码

        Hyperlink link = new Hyperlink();
        link.IsEnabled = true;
        link.Inlines.Add(" Microsoft ");
        link.NavigateUri = new Uri("http://www.microsoft.com");

        var allRang = new TextRange(Rich.Document.ContentStart,Rich.Document.ContentEnd);
        if (allRang.Start.Parent is Run)
        {
            var run = allRang.Start.Parent as Run;
            var runBefore =
                           new Run(new TextRange(run.ContentStart, Rich.CaretPosition).Text);
            var runAfter =
                           new Run(new TextRange(Rich.CaretPosition, run.ContentEnd).Text);

            if (allRang.Start.Paragraph != null)
            {
                allRang.Start.Paragraph.Inlines.Add(runBefore);
                allRang.Start.Paragraph.Inlines.Add(link);

                allRang.Start.Paragraph.Inlines.Add(runAfter);
                allRang.Start.Paragraph.Inlines.Remove(run);
            }
        }
于 2014-06-21T13:08:10.070 回答