将html内容转换为等效的silverlight内容?

时间:2011-09-03 08:09:52

标签: silverlight

我有一个从数据库中呈现html内容的页面。现在我想在Silverlight中显示它。我想到用silverlight等价替换所有标签。或者有人建造了类似的东西吗?这似乎是最好的解决方案。有意见的其他人吗?

如果有一种方法可以获得在silverlight richtextbox控件中工作的超链接,那将会很有用。

    <RichTextBox HorizontalAlignment="Left" Margin="25,23,0,0" Name="richTextBox1" VerticalAlignment="Top" Height="251" Width="352" >

    <Paragraph FontSize="14" FontWeight="Bold" >Hello</Paragraph>



</RichTextBox>

Silverlight中不允许这样:

 <TextBlock>
            Hello <HyperlinkButton > World </HyperlinkButton>

        </TextBlock>

我会被迫这样做:

<StackPanel Orientation="Horizontal">
                <TextBlock >
                    Hello 
                </TextBlock>
                <HyperlinkButton>
                    World
                </HyperlinkButton>
                </StackPanel>

这将是这样的HTML:

<h3> Hello <a href="#" >World</a></h3>

在某种程度上肯定银光方式可行,但将html内容转换为xaml似乎很乏味。如果有人有这样写库的冲动,那就太好了。

2 个答案:

答案 0 :(得分:1)

我过去已经构建了其中一个(对于WPF而不是Silverlight)。这并不容易,它只处理文本元素。您应该使用HtmlAgilityPack读取HTML,然后在处理HTML时保持当前字体状态的堆栈。

您的HTML有多复杂?

答案 1 :(得分:0)

如果HTML为您提供服务,为什么要切换到Silverlight?您当然可以将您的HTML转换为XAML中的等效标签,但是您将失去SEO优势。

如果你真的想这样做 - 也许你觉得这很有用 - 你还需要进行逆向工程: - )

http://msdn.microsoft.com/en-us/library/aa972129.aspx