扩展PRISM的模块化方法(CompositeWPF)

时间:2010-01-21 08:28:52

标签: prism modularity

本机PRISM的模块化机制支持通过组装路径加载模块,包含此模块。我希望能够在数据库中存储模块的视图(XAML),以便最终用户可以更改和自定义它们。选择数据库是因为它更容易存储和检索信息,并且不需要重新编译和制作二进制文件。 问题是View包含XAML和代码隐藏,我们需要将它们分开(?)并单独存储,当我们需要它们时,我们必须提示它们并加载到模块(使用反射或其他东西?)但我不知道如何如果可能的话呢?

1 个答案:

答案 0 :(得分:1)

我在这里看到两个选项。简单的方法或艰难的方式。

简单的方法是在驱动器上安装所有程序集,并有一个PRISM模块目录,根据数据库中的设置加载它们。

困难的方法是将程序集放入数据库,并让模块目录从那里加载程序集。您必须对程序集进行编码,可能使用Base64,将其放入数据库,然后从数据库重新加载程序集。

要从数据库记录重新加载程序集,可以使用与DirectoryModuleCatalog相同的机制。复制该类并对其进行更改,以便从来自数据库的流中加载程序集,而不是从目录中加载文件。