none
使用Prism下的“MEF”,进行分包和动态加载 RRS feed

  • 问题

  • 使用Prism下的“MEF”,进行分包和动态加载???

    系统中用了大量的“XAML”页面,现在是简单的“根据获取的参数”,根据“获取的参数”判断在“Application_Startup”方法中设置不同的启动页,代码如下:

    private void Application_Startup(object sender, StartupEventArgs e)
            {
                //string charttype = "";
                string charttype = e.InitParams["ChartType"].ToString();
                if (charttype == "")
                {
                    //this.RootVisual = new ElecMonitoring();
                    this.RootVisual = new EnergyStructure();
                }

                if (charttype == "RealTimeChart")
                {
                    this.RootVisual = new RealTimeChart();
                }

                if (charttype == "WaterMonitoring")
                {
                    this.RootVisual = new WaterMonitoring();
                }

    }

    问题一:这样启动是可以的,但是“XAML”资源在“Xap”包中必须一次性加载,这个时间比较长啊。。。

    现在想使用Prism里的“MEF”,每一个“XAML”页面(一个UserControl)作为Prism下的“MEF”里的一个模块,然后根据需要来动态下载,而不是一次性加载,应该怎么做???

    问题二:怎么样划分模块,进行分包???

    问题三:怎样把划分的模块进行加载???

    说说思路,最好有点项目实例可以参考呢???

    Thanks  a  lot...不甚感激...


    Science and technology is my lover.


    2012年5月10日 2:18

全部回复