我为现有软件(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
。
我在做什么错了?
答案 0 :(得分:1)
我正在使用带有.BackgroundImage
属性的VS提供的按钮。请注意,文件扩展名不包括在资源标识符中。如果这不起作用,则必须确切说明如何将资源添加到项目中。
MainButton.BackgroundImage = My.Resources.FSElogo