如何解析XAML中包含花括号和特殊字符的URL



我正在使用的界面应该显示Adobe Scene7中的图像。图像是由API检索的非常长的URL生成的。如果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部分被遗漏,导致"Problem Parsing Modifier"错误,我认为这是从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中工作?

使用值转换器,它可以将源字符串更改为您想要的任何字符串(例如转义大括号)。

最新更新