我正在使用这种方法使我的C#应用程序可以扩展到其他开发人员:
Creating a simple plugin mechanism
导入类似的字符串显示在" First Plugin"的链接中。工作得很好,但我也希望插件编写者可以导入一个图像,然后用于主应用程序中的按钮图标。我已经尝试将图像的路径(在插件项目中定义)作为字符串导入,但这不起作用,因为它是一个相对路径(例如Images / Test.jpg,我不想使用绝对路径)和主应用程序没有找到具有此路径的图像。
如何将插件中定义的图像导入主应用程序?
更新 我认为如果我将图像添加到我的dll资源中,它会以某种方式工作。但是如何在主应用程序中访问dll的资源呢?
答案 0 :(得分:0)
经过几天的研究,我找到了解决问题的方法!基于上面发布的示例,该解决方案对我有用:
在插件项目中执行此操作:
public ImageSource getIcon()
{
return new BitmapImage(new Uri("/FirstPlugin;component/Resources/Example.png", UriKind.Relative));
}
在主应用程序中,您可以获取图像并将其设置为RibbonButton-Icon,其中包含:
myRibbonButton.LargeImageSource = plugin.getIcon();