Question

J'ai une seule application Silverlight que je voudrais afficher dans une grille. La façon dont l'application Silverlight affiche son contenu dépend de l'ID unique de l'enregistrement dans chaque rangée de la grille. Malheureusement, le fichier XAP est téléchargé à nouveau pour chaque ligne de la grille. Avec une taille de 700KB, cette performance vraiment des impacts. Est-il possible de télécharger le fichier XAP une fois et puis juste réutiliser pour chaque ligne de la grille?

Était-ce utile?

La solution

Une fois XAP est téléchargé Silverlight cache les ensembles etc localement par exemple d'un contrôle Silverlight. Si vous créez une autre instance d'un contrôle Silverlight alors à son tour a son propre domaine qui à son tour se occupe.

Ma suggestion est d'abstraire les parties que vous requrie et les faire cuire dans un XAML séparé, puis les charger dans les zones où vous avez le plus besoin. Si vous avez encore besoin d'un .xap central pour gérer la gestion marshalling / événement, etc. puis dans Silverlight 3, nous avons mis en place une API de connexion locale qui permet à d'autres instances Silverlight de parler les uns aux autres au sein d'une page du navigateur localement (par exemple SilverlighA peut parler SilverlightB tout dans index.html)

Cela peut vous permettre d'établir une sorte de proxy local si vous voulez.

Scott Barnes / Plates-formes Rich Product Manager / Microsoft.

Autres conseils

Je ne suis pas sûr que vous pouvez. Théoriquement, il devrait être mis en mémoire cache, mais dans cette théorie de cas ne semblent pas squat valeur.

Il est tout jusqu'à la façon dont la balise se comporte avec ses différents params et c'est (une autre) l'une des zones documentées « faible densité » de silverlight.

Il est possible, mais pas facile à faire. Vous pouvez télécharger le XAP et enregistrez-le IsolatedStorage et créer un hôte silverlight chaque fois que vous avez besoin d'une référence à votre XAP mises en cache, mais vous ne disposez que l'espace de 1Mo disponible et vous n'êtes pas garanti que si vous avez d'autres applications silverlight du même domaine.

Avec ce que vous avez décrit, je ne vois pas encore une valeur à faire ce que vous voulez faire. Je pense que vous l'avez en arrière.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top