2

我正在 VB.NET 中使用 WPF for Windows 8 构建应用程序,我需要从磁盘加载多个图像。我不想将图像添加为项目的参考,我只想按原样加载它们。

我已经在 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)时,它会正确加载它。我还在应用程序清单中添加了所有必要的功能和声明。

4

1 回答 1

0

您的 XAML 看起来正确。可能图像路径无效。但是,它可以像这样更简单地编写:

<Image HorizontalAlignment="Left" Height="265" Margin="191,145,0,0" VerticalAlignment="Top" Width="660"
       Source="C:\Users\MyName\Documents\Database\image.jpg" /> 

路径字符串会自动转换为 ImageSource 实例。

在代码中,您应该使用带有 Uri 参数的BitmapImage 构造函数。否则,您将不得不调用BeginInitEndInit

Dim uri As New Uri("C:\Users\MyName\Documents\Database\image.jpg")
Dim bitmapimage As New BitmapImage(uri)
myimage.Source = bitmapimage
于 2012-08-18T12:54:58.347 回答