好吧,我在Windows Phone 7应用程序中查找了几种方法来解决此问题,但似乎找不到任何有效的方法。让我感到困惑的是,我之前所做的事情没有问题,所以我不确定为什么它不起作用。引起我问题的代码是这样的:
if(appSettings.Contains(“ image”))myImage.Source =(string)appSettings [“ image”]; else myImage.Source =“ default.jpg”;
我得到的错误是
无法将类型'string'隐式转换为'System.Windows.Media.ImageSource。
这让我感到困惑的原因是因为我完成了此Twitter应用程序教程,在该教程中,您将图像源直接绑定到字符串。那我该怎么解决呢?
从代码执行操作时,需要指定ImageSource而不是字符串:
Uri uri = new Uri("...", UriKind.Absolute);
ImageSource imgSource = new BitmapImage(uri);
myImage.Source = imgSource;
这就是您将网址应用于图片来源属性的方式
非常感谢你们,问题解决了!如果还有其他关于字符串和URI的基本知识,我似乎误会了,请告诉我。再次感谢!
@Dan如果您想将字符串绑定到ImageSource的Source属性,则可以使用Converter进行操作-请查看msdn.microsoft.com/en-us/library/…作为示例。您的转换器将接收一个字符串并返回一个BitmapImage-如果那里有人想要切入,可能会有更好的方法!
我想我可能需要回到基础知识,确切地了解可以将字符串定义为什么。例如,Mick似乎建议url不能为字符串?我只是将其视为“字符串”,将它们注入Source字段与将它们注入TextBlock的文本字段没有什么不同。
在XAML中使用字符串在Image上指定Source时,它实际上使用隐式转换器将其转换为ImageSource。与HyperlinkButtons中的URL相同,依此类推。