在wp8或超链接中选择FlowDocument和在同一行运行
本文关键字:运行 一行 wp8 超链接 选择 FlowDocument | 更新日期: 2023-09-27 17:52:38
我有一个带有超链接的文本。为了不激怒读者,我想把正常的文本和链接放在同一行。现在,每个Inline元素都以新行开始。
它显示:
请访问http://google.com
继续。
我想:
请访问http://google.com继续。
我还注意到,超链接点击区域覆盖了内联元素,而不仅仅是文本。
我的问题与这里描述和解决的问题相同:为RichTextBox添加可点击的超链接
问题是,看起来像wp8的流程文档这样的东西并不存在。我需要以编程方式创建内联元素。
<标题>编辑1:下面是我添加内联元素的代码: int index = 0;
rt = new RichTextBox() { };
while (true)
{
Paragraph para = new Paragraph();
if (item.text.Substring(index).IndexOf("<") == 0)
{
//TRUE when link
//I extract the URL and the linktext, and also update the index
Hyperlink hyper = new Hyperlink();
hyper.Click += new RoutedEventHandler((sender,e) => Hyperlink_Click(sender,e,URL));
hyper.Inlines.Add(linktext);
para.Inlines.Add(hyper);
}
else if (item.text.Substring(index).Contains("<"))
{
//TRUE when text, item.text contains a link
// I extract the text and update index
Run run = new Run() { Text = text };
para.Inlines.Add(run);
}
else
{
//TRUE when only text is left
Run run = new Run() { Text = item.text.Substring(index) };
para.Inlines.Add(run);
rt.Blocks.Add(para);
break;
}
// REMOVE: rt.Blocks.Add(para);
}
rt.SetValue(Grid.RowProperty, MainViewer.RowDefinitions.Count - 1);
MainViewer.Children.Add(rt);
<标题>编辑2 h1> 还是解决不了这个问题,难道没有人知道解决办法吗?我以前在应用程序中看到过我想要的东西,所以它一定是可能的。
<标题> 3 编辑我为每个内联元素创建了一个新的段落。我已经修复了上面的代码,它现在正在工作
标题>标题>标题>Paragraph p = new Paragraph();
p.Inlines.Add("Plase visit ");
var link = new Hyperlink();
link.Inlines.Add("google.com ");
p.Inlines.Add(link);
p.Inlines.Add("to continue");
rtb.Blocks.Add(p);
这对我很好。
PS如果你想在你的应用中显示一些html,你可以使用HTMLTextBox或HTMLViewer从http://msptoolkit.codeplex.com/