使Silverlight应用程序插件能够

时间:2009-07-09 18:07:22

标签: silverlight plugins

我想知道将内容动态加载到silverlight应用程序的一般方法。 更具体地说,我想创建类似基于小部件的应用程序,其中所有GUI对象都是小型独立小部件。我想提供一个静态镶边,就像一个框架,托管实际的小部件,从一个外部来源加载,如网站或由用户上传,并显示在此框架中。

问题是:

  1. 小部件作者必须提供什么,以便我将他的小部件应用程序加载到我的应用程序中?我想我必须查询提供的DLL,例如ViewModel及其DataTemplate,UserControl甚至是XAP文件。什么是最好的方式?外部窗口小部件还应该实现某个接口,以便外部应用程序可以调用其上的Loaded和Unloaded等方法。 小代码样本将不胜感激。

  2. 安全性怎么样?如何阻止内部窗口小部件应用程序访问我的外部应用程序。我认为小部件应用程序可以上升到控制树或访问我的框架控件的DataContext,托管应用程序。这是一个问题吗?如果是这样,如何解决?

  3. 提前致谢! 安德烈

1 个答案:

答案 0 :(得分:3)

您可以动态加载小工具作者可以提供的dll控件,MS Mike Taulty's done a walkthrough

Microsoft也有Prism,它允许您以模块化方式分解Silverlight代码。我还没有尝试过它,看它是否适合加载单个控件,但我对它所读到的内容的印象似乎表明它有一个框架来实现这一点。

至于安全性,他们可以访问应用程序的其余部分,因此这可能不合适。