我有一个简单的表格区域布局的WPF应用程序如下:PRISM模块登记
-----------------------------
| Region 1 | Region 2 |
-----------------------------
| Region 3 | Region 4 |
-----------------------------
我想要提供给寄存器模块基于模块/应用配置例如能力和它们的位置在区域1中注册“Module1”,并将其行rowspan设置为2,以便它与区域3重叠或者可能在各个区域中注册Module1,Module2,Module3和Module4,或者注册Module1,以使其消耗整个网格。
我目前的想法是在Shell中定义四个区域,从XAML模块目录加载模块并从app.config设置row/column/rowspan/columnspan然而,如果存在某种方式其中我可以扩展模块目录,以便每个模块条目可以直接指定网格设置(很像附加的依赖属性),然后我可以在模块初始化过程中读取它们,并根据需要在每个区域注册模块。
希望这是有道理的,如果不让我知道,我会尽力澄清 - 我可能会过于复杂的事情!
由于我不理解你想在一些可配置的row/col/rowspan/colspan组合中加载不同的视图,但是为什么?你的布局是否会经常改变? – 2011-03-02 14:17:20
原理是客户将从部件目录购买模块,例如新闻馈送,图像馈送等,他们可能会购买一个,在这种情况下会希望它填满整个屏幕,他们可能会购买2,并在这种情况下会希望布局不同。这不是一种,而是一种仪表板方法。我认为MEF可能会给予我比PRISM更孤立的动态选择。 – Sidebp 2011-03-02 17:43:03