Comment puis-je inclure des contrôles spécifiques de System.Windows.Controls dans mon application Silverlight?

StackOverflow https://stackoverflow.com/questions/1363087

Question

Microsoft a une référence pratique des différents contrôles dans la section System.Windows.Controls espace de noms et qui sont inclus dans les contrôles d'exécution.

Pour les contrôles mentionnés ici qui ne sont pas inclus dans le moteur d'exécution, vous devez inclure la référence à l'Assemblée System.Windows.Controls et sélectionnez « copie locale » dans Visual Studio. Donc, c'est ce que je fais actuellement et cela fonctionne.

Cependant, en incluant cette DLL J'ajoute près de 80 Ko à mon fichier XAP (et mon fichier XAP est seulement 110 Ko). Le seul contrôle que je utilise que l'exige le GridSplitter. Est-il possible de reconstruire une version condensée de cet ensemble qui comprend le GridSplitter seulement?

Était-ce utile?

La solution

On dirait que je viens de trouver la réponse pour Silverlight 2 ...

code source pour Silverlight 2 Runtime et SDK contrôles

Et je pense que va travailler pour moi pour l'instant. Je devrais être en mesure de passer par le projet et exclure tous les bits inutiles du projet et faire une reconstruction.

Je suis toujours en utilisant Silverlight 2 mais je vais passer à 3 dans quelques mois. Et je ne peux pas l'air de trouver la même chose pour Silverlight 3. Peut-être que la source est pas encore disponible pour Silverlight 3?

Mise à jour:

Je suis arrivé ce travail après avoir sauté à travers quelques cerceaux. Au début, je téléchargé le projet source de Microsoft et puis juste commencé à enlever des choses. Mais je remarque que je ne pouvais pas construire la solution. En fait, je ne pouvais pas construire soit une version non modifiée de la solution. Je recevais des erreurs sur la vérification du nom fort. J'ai essayé décochant nom fort signature de la section « Signature » des propriétés du projet, mais je suis la même erreur. J'ai même ajouté l'assemblée à la liste forte de saut de vérification du nom et a finalement obtenu passé l'erreur. Mais quand j'ai essayé d'inclure le nouvel ensemble dans mon projet Silverlight et l'exécuter dans un navigateur, je reçois un écran vide (le contrôle Silverlight jamais chargé). Je ne suis toujours pas sûr pourquoi, mais je suis sûr que je manque quelque chose.

Enfin Je viens de créer un nouveau projet. Il semble que j'aurais fait depuis le début. J'ai juste besoin de créer un vide C # Silverlight Bibliothèque de classes pour la GridSplitter. Ensuite, je commencé à ajouter les fichiers sources nécessaires à la GridSplitter à ce projet et je mis le nom d'espace de noms et de l'assemblage à System.Windows.Controls. Après la construction de ce projet, et le référencement dans mon application Silverlight il a finalement fonctionné. Le résultat:. 60 économies KB

J'ai écrit un peu plus sur ce ici:

http://regexhero.net/blog/2009 /09/optimizing-silverlight-xap-file.html

Dans les cas où quelqu'un veut, j'ai 4 des commandes du SDK ici ...

http://www.silverlightxap.com/controls/tagged/silverlight-sdk

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