c# - ImageSourceConverter 抛出 NullReferenceException ... 为什么?

标签 c# wpf resources

过去一个小时左右,我一直在为这个问题焦头烂额。

我有一些代码是这样的:

videoTile.Icon = new ImageSourceConverter().ConvertFrom(coDrivr4.Properties.Resources.Music.GetHbitmap()) as ImageSource;

当我运行我的代码时,它说发生了 NullReferenceException。 'Music' 和 GetHbitmap() 的返回值都不为空。

我正在尝试通过属性获取图像,因为这是我弄清楚如何访问我的资源文件夹中的图像的唯一方法。我只想将它们作为资源添加到 app.xaml 文件中,但出于某些原因我没有使用 app.xaml 文件。

我这样做有错吗?我需要做的就是获取资源目录中图像的 ImageSource 对象。我可以在我的 XAML 中很好地使用它们,但我终究不能在任何代码中使用它们。

P.S.:我不能将它们作为资源添加到 XAML 文件中,因为这只是一个类,因此没有 XAML 文件。

最佳答案

我遇到了完全相同的问题 - 我的所有位图都在一个漂亮的静态类型资源文件中,我只想用它们设置一个 ImageSource。因此,由于 ImageSourceConverter 抛出了空引用异常,我改变了策略并改用这段代码:

Bitmap bitmap = entityCol.EntityCollectionImage;
this.Image = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(bitmap.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions()); // Image is an image source

希望对您有所帮助。

关于c# - ImageSourceConverter 抛出 NullReferenceException ... 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1036469/

相关文章:

.net - WPF 应用程序和 ClickOnce 的试用期

c# - WPF MVVM 应用程序中常量(标签文本等)应该放在何处

c - win32编程中的资源和控制位置

资源上的 PHP 垃圾收集器?

c# - 使用 C# 读取 doc 和 docx 文件,而无需在服务器上安装 MS Office

c# - 如何在没有 WMI 的情况下获取在远程计算机上运行的进程的所有者

c# - 如何忽略 NodaTime nuget 包 xml 文档文件中对 jetbrains.annotations.dll 的引用

wpf - 将图标放在 XAML (WPF) 的文本框中

c# - 在 C# 中实现全局常量的最佳方法是什么?

c# - Webclient 启动慢