【发布时间】:2011-03-29 23:51:27
【问题描述】:
我想以编程方式将 WPF 超链接元素插入 FlowDocument。
目标是创建一个工具栏按钮,该按钮将在 RichTextBox 中获取一系列文本并将其替换为超链接。它与您在网络上看到的用于在 wiki 或博客(或 StackOverflow)上创建超链接的界面相同。
我可以像这样找到所选文本的 TextRange:
TextRange tr = new TextRange(
MyRichTextBox.Selection.Start,
MyRichTextBox.Selection.End);
我正在尝试将超链接 Xaml 填充到 TextRange 中,如下所示:
string rawXaml = "<Hyperlink xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" NavigateUri=\"http://www.google.com/\">Google Home Page</Hyperlink>";
using(MemoryStream stream = new MemoryStream())
{
StreamWriter writer = new StreamWriter(stream);
writer.Write(rawXaml);
writer.Flush();
stream.Position = 0;
if (tr.CanLoad(DataFormats.Xaml))
{
tr.Load(stream, DataFormats.Xaml);
}
}
但我似乎仍然将纯文本粘贴到 RichTextBox 中。
我在这里做错了什么?有没有更好的方法来完成我想做的事情?
【问题讨论】:
标签: wpf insert richtextbox hyperlink flowdocument