La versión corta ¿Cómo se maneja ups mirada estática de recursos en UserControls que se incrustan en otros controles de ventanas/usuario/personalizados? Para que Blend 4 lo represente correctamente @ design time, algo que Visual Studio ya hace por usted.Cómo resolver Design recursos estáticos vez en UserControls incrustados en Blend 4
la versión larga Como sugiere la pregunta, tenemos una ventana que tiene algunos controles de usuario incrustadas y la ventana, así cada uno como control de usuario incrustado todo el uso de extensiones de marcado de recursos estáticos para resolver referencias a los recursos que se encuentran en un fusionada diccionario en el archivo app.xaml.
Blend no tiene problemas para cargar y representar cualquiera de los controles de usuario de muestra que hice en VS Designer Surface cuando se abren individualmente. No tiene problemas para resolver las innumerables extensiones de marcas de recursos estáticos que empleo en casi todos lados.
Siempre que intento abrir mi 'MainWindow.xml', (un control de ventana) me di cuenta de que estaba recibiendo 4 - No se puede crear instancia de tipo errores con Blend 4 muy bien que me dice sobre la mesa de trabajo que se ha atrapado algunas excepciones de tiempo de diseño. Profundizando en estas excepciones adjuntando la instancia del depurador VS a Blend, noté que cada recurso estático al que hacía referencia, se quejaba de que no podía encontrarlo.
Como comparación busqué un control personalizado que creé, no empleó ningún recurso estático en absoluto, sino que fueron recursos locales. Este control personalizado cuando estaba incrustado en un UserControl que noté funcionó bastante bien. ¡Creo que es obvio por qué!
¿Alguien en SO tiene alguna idea sobre cómo solucionar este problema? Probé todo el 'Agregar un diccionario de tiempo de diseño' <, que funciona parcialmente, ¡los controles de usuario incrustados aún no se crean en absoluto!
investigación
- MVVM Light + Blend designer view error: Cannot find resource named 'Locator'
- Theming using resources without Blend vomitting
ACTUALIZACIÓN: Las soluciones posibles:
- Empleando un enfoque simialr presentado aquí: GianlucaCucco Answer
- ¿Convierte todas las búsquedas de recursos estáticos en recursos locales para UserControls?
- Convierta todas las búsquedas de recursos estáticos en recursos dinámicos.
Ninguna de estas soluciones es bonita. = (
¿Has probado la definición de aplicación condicional mencionada anteriormente? Parece que sería más fácil, si funcionó. Menos código = mejor, ¿verdad? –
No había visto eso antes. Sin embargo, la mayoría de nuestros recursos están fuera de App.xaml y, como resultado, Blend no los carga. Cargar a la fuerza los otros 4 archivos xaml que tenemos fue el enfoque menos intrusivo en el que nos decidimos. –
DesignerProperties.IsInDesignTool ??? ¿Ese es otro de tus métodos de extensión? ¿También puedes decirme qué espacios de nombres estás usando también? Resharper se está volviendo loco en este momento: S – IbrarMumtaz