Estoy trabajando sin mezcla de expresiones y solo usando el editor XAML en vs2010. Dejando de lado la sabiduría de esto, cada vez veo más la necesidad de un enlace de datos en tiempo de diseño. Para casos simples, la propiedad FallbackValue
funciona muy bien (Textboxes y TextBlocks, etc.). Pero especialmente cuando se trata de ItemsControl
y similares, uno realmente necesita datos de muestra para ser visibles en el diseñador para que pueda ajustar y modificar los controles y las plantillas de datos sin tener que ejecutar el ejecutable.¿Qué enfoques están disponibles para los datos ficticios de tiempo de diseño en WPF?
Sé que ObjectDataProvider
permite vincular a un tipo, y así puede proporcionar datos de tiempo de diseño para visualizar, pero luego hay algunos malabares para permitir que los datos reales en tiempo de ejecución se vinculen sin desperdiciar recursos cargando cargando tanto el tiempo de diseño, los datos dummied y los enlaces de tiempo de ejecución.
Realmente lo que quiero es tener, por ejemplo, "John", "Paul", "George" y "Ringo" en el diseñador XAML como elementos de mi artículo ItemsControl
, pero tengo datos reales aparece cuando se ejecuta la aplicación.
También sé que Blend permite algunos atributos extravagantes que definen datos de enlace de tiempo de diseño que WPF ignora de manera efectiva en condiciones de tiempo de ejecución.
Así que mis preguntas son:
1. ¿Cómo puede aprovechar fijaciones de tiempo de diseño de colecciones y los datos no triviales en el diseñador estudio XAML visual y luego cambiar a tiempo de ejecución fijaciones sin problemas?
2. ¿Cómo han resuelto otros este problema de tiempo de diseño frente a tiempo de ejecución? En mi caso, no puedo usar fácilmente los mismos datos para ambos (como sería posible con, por ejemplo, una consulta de base de datos).
3. ¿Se combinan sus alternativas de expresión que podría usar para el diseño XAML integrado en datos? (Sé que hay algunas alternativas, pero quiero específicamente algo que pueda usar y ver los datos de muestra unida, etc?)
Sí. Creo que este es el ganador nuevo y claro. Las otras cosas fueron soluciones temporales, esto es más "compatible oficialmente" – el2iot2
Si tiene problemas para usar 'd: DataContext' puede encontrar algo de ayuda en esta pregunta: http://stackoverflow.com/questions/8303803/setting-design- time-datacontext-on-a-window-is-giving-a-compiler-error –
¿Este ejemplo no causaría que una instancia de MockXViewModel se cargue en sus recursos para una versión de lanzamiento? ¿No es esto una preocupación? – jpierson