Pregunta

Microsoft tiene una referencia práctica de los diversos controles en el System.Windows.Controls controles de espacio de nombres y que se incluyen en el tiempo de ejecución .

Para los controles enumerados aquí que no están incluidos en el tiempo de ejecución, lo que tiene que incluir la referencia a los System.Windows.Controls montaje y seleccione "copia local" en Visual Studio. Así que eso es lo que estoy haciendo actualmente y funciona.

Sin embargo, mediante la inclusión de esta DLL que estoy añadiendo casi 80 KB a mi archivo XAP (y mi archivo XAP es de sólo 110 KB). El único control que estoy usando que requiere es el GridSplitter. ¿Hay una manera de reconstruir una versión condensada de este montaje que incluye el GridSplitter solamente?

¿Fue útil?

Solución

Parece que acabo de encontrar la respuesta para Silverlight 2 ...

código fuente para Silverlight 2 tiempo de ejecución y el SDK Controles

Y creo que va a trabajar para mí por ahora. Debería ser capaz de pasar por el proyecto y excluir todos los bits innecesarios desde el proyecto y hacer una reconstrucción.

Todavía estoy usando Silverlight 2, pero voy a cambiar a 3 en un par de meses. Y me parece que no puede encontrar la misma cosa para Silverlight 3. Tal vez la fuente aún no está disponible para Silverlight 3?

ACTUALIZACIÓN:

Así que me dio este trabajo después de saltar a través de unos aros. Al principio he descargado el proyecto de código de Microsoft y luego acaba de comenzar la eliminación de la materia. Pero entonces me di cuenta de que no podía generar la solución. De hecho, no podría construir una versión modificada de la solución. Que estaba recibiendo errores sobre la verificación del nombre fuerte. Probé desmarcando fuerte nombre de la firma de la sección "firma" de las propiedades del proyecto, pero tengo el mismo error. Incluso he añadido el conjunto a la lista de nombres de verificación salto fuerte y finalmente llegué más allá del error. Pero cuando traté de incluir la nueva asamblea en mi proyecto de Silverlight y ejecutarlo en un navegador, que tendría una pantalla en blanco (el control Silverlight no cargado). Todavía no estoy seguro de por qué, pero estoy seguro de que me estaba perdiendo algo.

Finalmente acabo de crear un proyecto nuevo. Parece que debería haber hecho esto desde el principio. Sólo tenía que crear una biblioteca de clases C # Silverlight vacío para el GridSplitter. Entonces empecé a añadir la fuente de los archivos necesarios para la GridSplitter a este proyecto y luego me puse el nombre de espacio de nombres y montaje de System.Windows.Controls. Después de la construcción de este proyecto, y hacer referencia a ella en mi aplicación Silverlight finalmente funcionó. El resultado:. A 60 KB ahorro

he escrito un poco más sobre esto aquí:

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

En caso de que alguien los quiere, tengo 4 de los controles desde el SDK aquí ...

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top