【问题标题】:How to parse a URL in XAML that contains curly brackets and special characters?如何解析 XAML 中包含大括号和特殊字符的 URL?
【发布时间】:2015-06-16 14:56:49
【问题描述】:

我正在处理的界面应该显示来自 Adob​​e Scene7 的图像。该图像由一个很长的 URL 生成,该 URL 由 API 检索。如果 URL 包含大括号,我会收到一个错误,显示为 "Problem Parsing Modifier"

这就是通常从 API 传递 URL 的方式:

http://s7d7.scene7.com/is/image/GTMSportswear/?fmt=png-alpha&bgc=ffffff&hei=750&wid=750&fmt=png-alpha&GTM_Group=1&src={ugc-file:689232465.tif?fmt=tif-alpha}))))

使用 fiddler,我可以看到图像实际上是这样解析的:

http://s7d7.scene7.com/is/image/GTMSportswear/?fmt=png-alpha&bgc=ffffff&hei=750&wid=750&fmt=png-alpha&GTM_Group=1&src=))))

大括号内的 URL 部分被省略并导致“问题解析修饰符”错误,我假设它是从 Scene7 返回的。

当从 API 检索 URL 并绑定到我的 XAML 中图像的 Source 属性时:

    <Image Name="Image1" Source="{Binding URL1,Converter={StaticResource HtmlDecode}, Mode=OneWay}" Grid.Row="1" Grid.Column="0" />

我尝试使用实现 HtmlDecode 的值转换器,但无济于事。尝试用括号替换大括号也不起作用。我发现 Scene7 关于如何克服这个问题的支持很少。 是否有任何其他方法可以让包含大括号的 url 在 XAML 中工作?

【问题讨论】:

  • 在使用 fiddler 监控时也会看到“问题解析修饰符”。
  • 还尝试使用 URL 缩短器 tinyurl,但也没有用。

标签: c# image xaml url special-characters


【解决方案1】:

使用值转换器将源字符串更改为您想要的任何内容(例如escape your curly brackets)。

【讨论】:

  • 您提供的示例不再可用。你能再提供一个吗?
猜你喜欢
  • 2011-03-10
  • 1970-01-01
  • 2018-05-22
  • 2018-08-01
  • 2021-07-16
  • 1970-01-01
  • 1970-01-01
  • 2014-08-02
  • 2012-10-18
相关资源
最近更新 更多