我有这段代码:
if (MyImage.Source == "ms-appx:///Assets/myimage.png")
{
//do something
}
但是我收到了这个错误:
Cannot implicitly convert type 'string' to 'Windows.UI.Xaml.Media.ImageSource'
那我怎么能把imagesource转换成字符串所以我可以比较它们呢?我试过了ToString()
,但似乎没有用。
答案 0 :(得分:0)
图片的Source
属性是ImageSource
类型,而不是字符串。
根据documentation for ImageSource
:
表示绘制图像的图像源文件的对象。通常,您使用BitmapImage对象进行设置,该对象使用描述有效图像源文件路径的URI构造。或者,您可以使用流初始化BitmapSource,也可以是来自存储文件的流。
[更新:]
因此,您需要做两件事:
1.确定图像源的类型
2.如果是BitmapImage
,请检查具有预期URI的位图UriSource
:
var imgUri = new Uri("ms:app:///Assets/SplashScreen.scale-100.png");
img.Source = new BitmapImage(imgUri);
if (img.Source.GetType() == typeof(BitmapImage)
&& (img.Source as BitmapImage).UriSource.Equals(imgUri))
{
// Do something useful here!
}
HTH。