我正在 VB.NET 中使用适用于 Windows 8 的 WPF 构建应用程序,我需要从磁盘加载多个图像。 我不想添加图像作为对项目的引用,我只想按原样加载它们。
我已经研究了 "Imaging Overview"在 MSDN 和互联网上的其他几篇文章中,但没有解决我的问题。
我同时使用了 XAML 和代码,但没有任何效果。无法显示图像。
Dim myimage As New Image myimage.Width = 200 Dim bitmapimage As New BitmapImage() bitmapimage.UriSource = New Uri("C:\Users\MyName\Documents\Database\image.jpg") myimage.Source = bitmapimage
XAML 代码:
<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}"> <Image HorizontalAlignment="Left" Height="265" Margin="191,145,0,0" VerticalAlignment="Top" Width="660"> <Image.Source> <BitmapImage UriSource="C:\Users\MyName\Documents\Database\image.jpg"/> </Image.Source> </Image> </Grid>
当我加载引用图像(即 Assets/Logo.png)时,它会正确加载。 我还在应用程序 list 中添加了所有必要的功能和声明。
最佳答案
您的 XAML 看起来是正确的。可能是图片路径不对。然而,它可以像这样写得更简单:
<Image HorizontalAlignment="Left" Height="265" Margin="191,145,0,0" VerticalAlignment="Top" Width="660"
Source="C:\Users\MyName\Documents\Database\image.jpg" />
路径字符串会自动转换为 ImageSource 实例。
在代码中你应该使用 BitmapImage constructor带有 Uri 参数。否则您将不得不调用 BeginInit和 EndInit .
Dim uri As New Uri("C:\Users\MyName\Documents\Database\image.jpg")
Dim bitmapimage As New BitmapImage(uri)
myimage.Source = bitmapimage
关于wpf - 在 WPF 中加载外部图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12018501/