C# 在wp8或超链接中选择FlowDocument,并在同一行上运行

C# 在wp8或超链接中选择FlowDocument,并在同一行上运行,c#,xaml,windows-phone-8,hyperlink,richtextbox,C#,Xaml,Windows Phone 8,Hyperlink,Richtextbox,我有一个超链接的文本。 为了不激怒读者,我想把普通文本和链接放在同一行。现在,每个内联元素都开始一个新行 它显示: 请访问 继续 我想: 请访问以继续 我还注意到,超链接命中区域覆盖了孔内联元素,而不仅仅是文本 我的问题与此处描述和解决的问题相同: 问题是,wp8的流程文档似乎并不存在。 我需要以编程方式创建内联元素 编辑1: 下面是我如何添加内联元素的代码: int index = 0; rt = new Ri

我有一个超链接的文本。 为了不激怒读者,我想把普通文本和链接放在同一行。现在,每个内联元素都开始一个新行

它显示:

请访问

继续

我想:

请访问以继续

我还注意到,超链接命中区域覆盖了孔内联元素,而不仅仅是文本

我的问题与此处描述和解决的问题相同:

问题是,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);
int索引=0;
rt=新的RichTextBox(){};
while(true)
{
段落段落=新段落();
if(item.text.Substring(index).IndexOf(“
这对我来说很好

PS
如果你想在你的应用程序中显示一些html,你可以使用HTMLTextBox或HTMLViewer from

当你在代码中设置它时,它不应该添加新行…也许看看Bjorn Kuiper在这个项目中的TweetStatusConverter类做了类似的事情!我创建RichTextBox的模式与这个项目中的作者相同。我将发布我的很快就可以编写代码了,但现在我还有很多其他事情要做。谢谢你迄今为止的帮助。祝你应用程序好运!我的错误是我为每个内联对象添加了一个新段落。这帮助我发现了错误。我已经修复了代码。我不想使用纯html,因为我很难添加css(我遇到过这样的情况,一些样式没有显示,同时我的桌面浏览器显示了我打算做的事情)。我更喜欢提取标签。当然要多做一些工作,但少一些挫折感,因为我总是知道哪里会出问题。
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);