2009-07-09 7 views
4

Je veux connaître les méthodes générales pour charger dynamiquement le contenu dans votre application Silverlight. Plus précisément, je veux créer quelque chose comme une application basée sur un widget, où tous les objets de l'interface graphique sont de petits widgets indépendants. Je veux fournir un chrome statique, comme un cadre, hébergeant le widget réel, qui est chargé à partir d'une source externe comme un site Web ou est téléchargé par l'utilisateur et est montré dans ce cadre.Rendre l'extension Silverlight compatible

Les questions sont:

  1. Qu'est-ce que l'auteur widget ont spécifiquement pour fournir, afin de me charger de son application widget dans ma demande? J'imagine que je dois interroger la DLL fournie pour quelque chose comme un ViewModel et son DataTemplate, un UserControl ou même un fichier XAP. Quel serait le meilleur moyen? Le widget externe doit également implémenter une certaine interface, de sorte que l'application externe puisse appeler des méthodes telles que Loaded et Unloaded. De petits échantillons de code seraient appréciés.

  2. Qu'en est-il de la sécurité? Comment puis-je empêcher l'application de widget interne d'accéder à mon application externe. Je pense que l'application du widget pourrait remonter dans l'arbre de contrôle ou accéder au DataContext de mon contrôle de frame, hébergeant l'application. Est-ce un problème? Si oui, comment le résoudre?

Merci d'avance! Andrej

Répondre

3

Vous pouvez charger dynamiquement des contrôles à partir de DLL que vos auteurs de widgets peuvent fournir, MS Mike Taulty's done a walkthrough.

Microsoft a également Prism qui vous permet de briser votre code Silverlight de façon modulaire. Je ne l'ai pas encore essayé pour voir s'il est approprié pour charger des contrôles individuels, mais mes impressions de ce que j'ai lu à ce sujet semblent indiquer qu'il a un cadre pour le faire. En ce qui concerne la sécurité, ils auraient accès au reste de l'application, donc peut-être que ce n'est pas approprié.

+0

Merci, la procédure pas à pas a été utile. Mais la partie la plus importante peut être la sécurité: existe-t-il d'autres solutions pour charger dynamiquement le contenu Silverlight et ne pas avoir ce contenu accédant à mon application? Vous pouvez imaginer, je ne veux pas vérifier le code source de chaque widget pour voir s'il essaie quelque chose de drôle avec mon application;) – Andrej

Questions connexes