我想将带有displayText的超链接插入到当前插入位置的richtextbox中,当用户点击Ok按钮时,我显示一个弹出窗口供用户输入linkURL和linkText带有显示文本的超链接应插入RichTextBox中的当前插入位置。
提前致谢。
答案 0 :(得分: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);
}
}