WPF: "значение типа 'String' не может быть преобразовано в 'System.Окна.Сми.ImageSource'."
Я пытаюсь установить источник изображения WPF.
XAML работает:
<Image Name="ImageThing"
Source="images/Thing.png"/>
Visual Basic не удается:
ImageThing.Source = "images/Thing.png"
С исключение:
значение типа String не может быть преобразовано в - Система.Окна.Сми.ImageSource'.
как создать систему.Окна.Сми.ImageSource, что мне нужно?
обновление
этот код взято из пример MSDN работает:
Dim bmp As New BitmapImage()
bmp.BeginInit()
bmp.UriSource = New Uri("images/Thing.png", UriKind.Relative)
bmp.EndInit()
ImageThing.Source = bmp
5 ответов
WPF использует неявный преобразователь типов для преобразования строки xaml в ожидаемый тип. В коде вы статически связаны типом объекта... Если вы посмотрите на пример он показывает, как установить свойство source в BitmapImage, который генерируется из локального uri программно.
вам, вероятно, нужно будет сделать что-то вроде этого
Uri i = new Uri("images\Thing.png");
имейте в виду, что вам нужно использовать \ not a / для файловой системы windows
посмотреть здесь
Это может быть даже проще, чем выше:
ImageThing.Source = New BitmapImage(New Uri("images/Thing.png", UriKind.Relative))
просто измените файл xaml следующим образом.
<Image Name="ImageThing">
<Image.Source>
<BitmapImage UriSource="images/Thing.png" />
</Image.Source>
</Image>
насчет
Private Sub Google_Click(sender As Object, e As RoutedEventArgs)
Mainbrowser.Navigate("http://www.contoso.com")