2008-11-05 19 views
7

Tengo dificultades reales con los archivos XAML en Silverlight ya que se agrandan mucho al usar Blend. Simplemente se convierte en una pared de texto después de agregar y animar solo un puñado de controles.¿Cómo gestionas archivos XAML enormes y apenas mantenibles?

Espero que una mejor versión de Blend salga pronto, para que nuestros diseñadores nunca tengan que ver XAML. Por ahora, sin embargo, esa no es una solución: XAML aún necesita ser administrado manualmente y es una tarea deprimente.

¿Alguien ha encontrado una solución para esto? ¿Cómo se mantienen sus archivos XAML en orden? ¿Cómo los entiendes cuando crecen?

Edit: Estoy especialmente interesado en las soluciones de Silverlight, ya que la solución más obvia de WPF, dividir las cosas en diccionarios de recursos, no es compatible con Silverlight.

Respuesta

7

He estado usando Silverlight 2 desde enero cuando estaba en versión privada, y nos encontramos con este problema, todos nuestros XAML estaban en un gran archivo. Lo que hicimos como mejores prácticas fue dividir la interfaz de usuario en controles de usuario separados basados ​​en la categorización visual (encabezado, pie de página, controles de navegación, etc.). Inicialmente tratamos de utilizar lienzos anidados (aún no se habían agregado grillas al marco) y esto se convirtió en una pesadilla de mantenimiento más tarde.

En Blend puedes seleccionar un lienzo/grilla, etc. ... desde la ventana Objetos y escala de tiempo, haz clic derecho sobre él y se te da la opción "Hacer control ..."Esto hizo que la factorización re rápida y modularización nuestro principal archivo XAML. A continuación, utiliza eventos para permitir que el usuario controla a comunicarse entre sí.

Espero que esto ayude, y buena suerte!

11

Requiere un poco de trabajo mantener los archivos XAML, pero básicamente, lo que debe hacer es dividirlos en archivos de recursos (XAML Resource Dictionaries) usando un esquema que tenga sentido para usted.

Por ejemplo, podemos utilizar un esquema en el que tenemos una estructura de carpetas como esto:

  • Recursos (contiene XAML archivos que representan los controles de usuario y páginas)

    • plantillas (archivos XAML con formas)
    • estilos (archivos XAML con estilos)
    • Cepillos (...)
      • Compartido
    • plantillas (...)

Su estructura puede variar, pero, separando todos los recursos en diferentes archivos que realmente hace un mantenimiento más fácil en el largo plazo.

2

Soy un desarrollador creativo y trabajo extensamente en Blend.

Publiqué algunas ideas el año pasado en keeping XAML clean.

Silverlight actualmente no es compatible con MergedResourceDictionaries por lo que es difícil dividir el XAML en archivos separados ResourceDictionary como sugerí en another post.

Paul Stovell también tiene algunos interesantes guidelines for XAML.

+1

Los enlaces que proporcione son sin más activo. – vzczc

Cuestiones relacionadas