【问题标题】:How to convert HTML codes to XAML in Windows Phone如何在 Windows Phone 中将 HTML 代码转换为 XAML
【发布时间】:2014-04-21 15:06:16
【问题描述】:

我正在创建 Windows Phone 应用程序,我正在从 Web 服务响应中获取 HTML 代码, 喜欢

"&nbsp;,<br>"

如何在 xaml 中转换它们? 有没有可用的静态方法?

因为我尝试了 HttpUtility 方法但没有得到转换结果

【问题讨论】:

  • 你想在哪里显示文本?返回什么类型的 HTML 元素?
  • @WiredPrairie 我在列表框中显示文本,我得到“ ”和“
    ”..那么哪个静态方法符合条件?
  • 你可以使用字符串替换来删除那些。
  • @WiredPrairie 但是可能有很多 HTML 代码,那我该怎么办?
  • 寻找 HTML Agility Pack(特别是与 WP8 一起使用的)。它具有一些您可能会发现对清理 HTML 很有用的功能。

标签: html c#-4.0 windows-phone-8


【解决方案1】:

没有内置功能可以做到这一点。您需要手动将内容映射到 &lt;RichTextBox /&gt; 并根据需要插入必要的 &lt;Paragraph /&gt;&lt;Run /&gt; 元素。

【讨论】:

  • 感谢您的快速回复,但我必须在列表框中显示内容,那么如何解决?你能给我看一些代码或例子吗??
  • 如有必要,您必须向 ListBox 添加多个 RichTextBox 元素。 MSDN 提供了如何构建 RichTextBox 的优秀示例。
【解决方案2】:

也许您可以使用这个 HTML 到 XAML FlowDocument 转换器:http://blogs.msdn.com/b/wpfsdk/archive/2006/05/25/606317.aspx

然后你可以使用自定义控件,这里是一个例子:

<ControlTemplate TargetType="{x:Type local:ReplyBoxControl}">
   <Border BorderBrush="Black" BorderThickness="1" Background="#F0E0D6" MaxHeight="320" Width="300">
         <FlowDocumentScrollViewer VerticalScrollBarVisibility="Auto" MaxHeight="320" Height="Auto"
Document="{TemplateBinding TestText2, Converter={StaticResource HtmlToFlowDocumentConverter}}" />
   </Border>
</ControlTemplate>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-11
    • 2019-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-07
    • 1970-01-01
    相关资源
    最近更新 更多