¿Es posible compartir modelos de vista entre plataformas - WPF/Silverlight? Comencé por el camino de poner mis máquinas virtuales en un ensamble por separado y pronto llegué a ICommand, lo que me llevó a hacer esta pregunta. ¿Es esto posible y, de ser así, es bueno hacerlo? Tenemos la posibilidad en el futuro de tener una aplicación cliente para WPF y Silverlight, por lo que me gustaría no tener que duplicar máquinas virtuales para ambos.MVVM - Share/Reuse ViewModels entre Silverlight y WPF
Respuesta
Puede hacer esto usando el Portable Library Tools CTP. Esto le permite apuntar al marco completo, así como a Silverlight en un único proyecto de biblioteca.
De lo contrario, es posible, más o menos. Aún necesita dos proyectos separados (para fines prácticos), pero normalmente puede usar un único archivo fuente. Haga que cada proyecto utilice los mismos archivos fuente para mantener la reutilización en su lugar, pero requiere la sincronización manual de los archivos. También puede agregar funcionalidades específicas de la plataforma fácilmente en este caso a través de clases parciales o definiciones, lo que ayuda a mantener algunas de las soluciones alternativas para la funcionalidad de Silverlight que son fáciles de mantener.
[Casi] todo lo que es posible en Silverlight, también es posible en WPF. Entonces, si tiene una VM trabajando en Silverlight, [la mayoría de las veces] funcionará con WPF.
Desde el otro punto de vista, WPF ofrece posibilidades más ricas, por lo que es posible que desee utilizarlas en su parte de código WPF. Puede usar los típicos trucos de #ifdef Silverlight
.
Además, this question puede ser útil.
- 1. MVVM: comunicación entre el modelo y ViewModels
- 2. WPF MVVM: ¿Cómo se comunican ViewModels entre sí?
- 3. MVVM Light - Multiple ViewModels (y los conecta)
- 4. Simplificar el comando RelayCommand/Delegate en WPF MVVM ViewModels
- 5. Necesita comparación de MVVM/WPF/Silverlight Toolkits
- 6. MVVM: ¿Cómo manejar la interacción entre ViewModels anidados?
- 7. Pasar el estado de la aplicación entre viewmodels en la aplicación MVVM WPF
- 8. Wpf UserControl y MVVM
- 9. MVVM (ICommand) en Silverlight
- 10. Aprendiendo WPF y MVVM
- 11. MVVM, WPF y validación
- 12. Evento Silverlight 4 + MVVM + KeyDown
- 13. ViewModels de construcción a base de Entidades Modelo anidadas en WPF y patrón MVVM
- 14. WPF MVVM y Pruebas unitarias
- 15. WPF y MVVM. Encuadernación Eventos
- 16. Static ViewModels vs installed ViewModels
- 17. Marco Silverlight MVVM con navegación
- 18. Datos obsoletos en MVVM ViewModels con inyección de dependencia
- 19. La mejor manera de compartir código entre WPF y Silverlight
- 20. ¿Cuál es la diferencia entre WPF y la aplicación Silverlight?
- 21. ¿Cuál es la diferencia entre WPF y Silverlight?
- 22. Silverlight MVVM Por dónde empezar
- 23. Cómo enviar parámetros entre viewmodels usando viewmodellocator
- 24. Compatibilidad con Silverlight y WPF
- 25. ¿Cómo aprendes WPF y Silverlight?
- 26. Combinación de .NET RIA Services y MVVM en Silverlight 3.0
- 27. Aplicación modular usando MVVM, Prism, WPF y MEF - Ejemplos/Tutoriales
- 28. ViewModels y rendering
- 29. WPF y MVVM: ¿Algún ejemplo usando VB.Net?
- 30. WPF MVVM Dudas
Creo que la opción Biblioteca portátil será tu mejor opción, pero te obligará a codificar con el mínimo común denominador. Realmente, para ViewModels esto no debería ser un problema ya que debes abstraer cualquier idiosincrasia relacionada con View a la Vista y cualquier idiosincrasia de plataforma a una capa de servicio. –