wpf - tutorial - ¿Cómo manejas archivos XAML enormes y apenas mantenibles?
microsoft expression blend 4 full (3)
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, usamos un esquema en el que tenemos una estructura de carpetas como esta:
Recursos (contiene archivos XAML que representan los controles y las páginas del usuario)
- Stencils (archivos XAML con formas)
- Estilos (archivos XAML con estilos)
- Pinceles (...)
- Compartido
- Plantillas (...)
Su estructura puede variar, pero separar todos los recursos en diferentes archivos hace que el mantenimiento sea más fácil a largo plazo.
Estoy teniendo 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.
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 a esto? ¿Cómo se mantienen sus archivos XAML en orden? ¿Cómo los entiendes cuando crecen?
Editar : 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.
Soy un desarrollador creativo y trabajo extensamente en Blend.
Publiqué algunas ideas el año pasado para mantener limpio XAML .
Silverlight actualmente no es compatible con MergedResourceDictionaries por lo que es difícil dividir el XAML en archivos separados de ResourceDictionary como sugerí en otra publicación .
Paul Stovell también tiene algunas pautas interesantes para XAML .
He estado usando Silverlight 2 desde enero cuando estaba en versión privada, y nos encontramos con este problema, todo nuestro XAML estaba 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 obtendrás la opción "Hacer control ...". Esto hizo posible una rápida refacturación y modularización de nuestro archivo principal XAML . Luego usamos Eventos para permitir que los controles del usuario se comuniquen entre ellos.
¡Espero que esto ayude y buena suerte!