在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 编辑

我为每个内联元素创建了一个新的段落。我已经修复了上面的代码,它现在正在工作

在wp8或超链接中选择FlowDocument和在同一行运行

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/