WPF开发中如何将string转换为ImageSource

在xaml文件中是可以直接用路径(string)的,如下面的代码

<Image x:Name="image1" Stretch="Fill" Source="/res/默认图片.gif"></Image>

但是在代码中直接给source赋值会报错提示:BC30311:类型“String”的值无法转换为“ImageSource”。并且如下代码运行时候也会抛出异常

image1.Source = New BitmapImage(New Uri("/res/默认图片.gif"))

必须要先申明一个变量,将string赋值给变量才可以正常显示图片。代码如下

Dim fn As String = "/res/默认图片.gif"
image1.Source = New BitmapImage(New Uri(fn))

上面是相对路径,还可以用绝对路径来做,只需要一行代码

If File.Exists("pic.jpg") Then
    image1.Source = New BitmapImage(New Uri(Directory.GetCurrentDirectory & "\pic.jpg", UriKind.Absolute))
End If


微信扫描下方的二维码阅读本文