我正在尝试设置WPF图像的来源。
XAML 有效:
<Image Name="ImageThing"
Source="images/Thing.png"/>
Visual Basic 失败:
ImageThing.Source = "images/Thing.png"
...使用此例外:
'String'类型的值不能 转换成 'System.Windows.Media.ImageSource'。
如何创建我需要的System.Windows.Media.ImageSource?
此代码改编自MSDN example作品:
Dim bmp As New BitmapImage()
bmp.BeginInit()
bmp.UriSource = New Uri("images/Thing.png", UriKind.Relative)
bmp.EndInit()
ImageThing.Source = bmp
答案 0 :(得分:11)
WPF使用隐式类型转换器将xaml字符串转换为期望的类型。在代码中,您通过对象类型静态绑定...如果查看example here,它将显示如何将source属性设置为以编程方式从本地uri生成的BitmapImage。
答案 1 :(得分:6)
答案 2 :(得分:5)
它比以上更容易:
ImageThing.Source = New BitmapImage(New Uri("images/Thing.png", UriKind.Relative))
答案 3 :(得分:1)
只需像这样更改xaml文件。
<Image Name="ImageThing">
<Image.Source>
<BitmapImage UriSource="images/Thing.png" />
</Image.Source>
</Image>
答案 4 :(得分:-1)
怎么样?
Private Sub Google_Click(sender As Object, e As RoutedEventArgs)
Mainbrowser.Navigate("http://www.contoso.com")