wpf - 在 WPF 中加载外部图像

标签 wpf windows vb.net xaml

我正在 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 参数。否则您将不得不调用 BeginInitEndInit .

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/

相关文章:

c# - WPF强制重绘 Canvas

windows - 在 Azure VM(或 EC2)中的 Windows 变体上安装/执行产品测试?

windows - C++11:如何实现快速、轻量级、公平的同步资源访问

c# - 什么是终结者?

c# - 如何从 MenuItem 完全自定义弹出窗口?

c# - 为什么此绑定(bind)不能通过 XAML 工作,而是通过代码工作?

c# - 显示实体和附加信息的最佳方法?

java - 如何修复此 Eclipse 错误?

.net - 检查网络可用性 VB.net

c# - 如何避免使用枚举?