将imagesource转换为字符串

时间:2015-04-27 23:51:27

标签: c# xaml windows-runtime windows-store-apps imagesource

我有这段代码:

if (MyImage.Source == "ms-appx:///Assets/myimage.png")
{
   //do something
}

但是我收到了这个错误:

Cannot implicitly convert type 'string' to 'Windows.UI.Xaml.Media.ImageSource'

那我怎么能把imagesource转换成字符串所以我可以比较它们呢?我试过了ToString(),但似乎没有用。

1 个答案:

答案 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。