wpf - 如何利用 Prism 创建 WPF/Silverlight 模块,同时也可以将其嵌入到非 Prism 应用程序中

标签 wpf module prism bootstrapper

我想要创建一个 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/

相关文章:

c# - WPF 窗口 - 何时加载数据以便立即显示表单

module - Opencart - 如何在前端获取模块设置

asp.net - 在 DotNetNuke 6 中创建模块并进行调试的最简单方法

c# - WPF Prism Bound 字段值在命令触发之前不可用

wpf - 在 PRISM(wpf) 中的模块之间共享公共(public)资源

WPF DataGrid - 创建一个新的自定义列

c# - .NET WPF Process.Start() 不适用于 Vista 和 Windows 7

Linux 上的 C++ GetModuleBase

c# - 如何将典型的 C# 单行代码编写为单独的代码片段?

c++ - C++ 中传递的参数不完整