用资源文件路径替换绝对文件路径

Replacing Absolute file path by Resource file path

我为现有软件 (Revit) 创建了一个加载项,我想在加载项的按钮中嵌入一个图像(我公司的徽标)。

这是我目前的代码:

'Set the large image shown on button
        Dim uriImage As New Uri("\10.8.60.3\Shared\REVIT\FSElogo.png")
        Dim largeImage As New BitmapImage(uriImage)
        MainButton.LargeImage = largeImage

它工作得很好并且徽标显示正确,但是它需要计算机能够访问位于 \10.8.60.3 的服务器。在家工作时,我们无法访问此服务器,因此 Revit 在启动时会抛出错误。

所以我尝试将 FSElogo.png 文件作为 Resource 添加到我的 VB.Net 项目中,然后尝试使用 My.Resources 访问图像,有效地消除了需要用于要使用的外部图像。

嗯,我无法让它工作。 我尝试用

替换上面的代码

MainButton.LargeImage = CType(My.Resources.ResourceManager.GetObject("FSElogo.png"), Windows.Media.ImageSource)

但是没用。它不会引发错误,但按钮上不会显示任何图像。

如果我不将我的 Object 转换为 ImageSource 我会收到 implicit conversion from Object to Image 错误,我什至不确定我的 ResourceManager 是否真的返回对象 FSElogo.png.

我做错了什么?

我将 VS 提供的按钮与 .BackgroundImage 属性 一起使用。请注意,文件的扩展名不包含在资源标识符中。如果这不起作用,您将必须准确解释您是如何将资源添加到项目中的。

    MainButton.BackgroundImage = My.Resources.FSElogo