我正在使用的界面应该显示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>M_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>M_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中工作?
使用值转换器,它可以将源字符串更改为您想要的任何字符串(例如转义大括号)。