我想要创建一个 WPF 或 Silverlight 模块,它不仅可以由 Shell 的 Bootstrap 使用,而且还可以嵌入到非 PRISM 应用程序中。
简而言之,有没有一种方法可以从模块本身初始化 PRISM 模块,而不是从 Shell 初始化?
最终目标是拥有 WPF/Silverlight PRISM 模块,该模块可以由非 PRISM 应用程序初始化。
最佳答案
这没有障碍。
IModule
接口(interface)有一个单一的无参数 void
方法:Initialize()
。
非 Prism 应用程序可以通过调用该方法来初始化模块。就是这样。
如果其他应用程序具有不同的插件系统和不同的接口(interface),您的模块也可以实现该接口(interface),并且该接口(interface)使用的任何初始化方法的主体都可以简单地调用 Initialize()
,反之亦然。
例如:
public interface IMyPluginModule
{
void StartModule();
}
public class MyModule : IModule, IMyPluginModule
{
public void Initialize()
{
// actual initialization code here
}
public void StartModule()
{
Initialize();
}
}
关于wpf - 如何利用 Prism 创建 WPF/Silverlight 模块,同时也可以将其嵌入到非 Prism 应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4434998/