2009-06-30 19 views
5

Estoy tratando de aprender más sobre WPF y he leído un poco sobre Model-View-ViewModel (MVVM), pero si tuviera que crear una aplicación WPF, creo que todavía haría las cosas, por costumbre, el mismo forma en que lo hice en winforms. Que de mi entendimiento me codificará en una esquina.Ejemplo de una aplicación winforms implementada como una aplicación wpf?

Así que una manera para mí para aprender la forma 'correcta' es comparar y contrastar una sencilla aplicación existente, que también es winforms (correctamente) implementado en WPF.

No estoy buscando algo complejo, tal vez solo un par de formas y algunos controles. ¿Alguien sabe de simple algún ejemplo como este?

Respuesta

4

Echa un vistazo this video. Pasa por el típico pensamiento de Winforms y luego lo convierte al patrón MVVM en WPF. Source code también está disponible.

1

Para empezar, me gustaría sugerir la creación de un proyecto WinForms de prueba, y un proyecto de WPF prueba. A continuación, agregue un botón y un cuadro de texto en cada uno de los formularios y compare el "Código Generado por el Diseñador" en la aplicación WinForms con el XAML en la aplicación WPF.

Luego puede hacer doble clic en el botón en la ventana del diseñador en ambos proyectos, y VS creará un controlador OnClick para su botón en WinForms y en WPF. Esto le permitirá comparar las características de manejo de eventos de ambas plataformas.

Otro problema común nos encontramos cuando nos adentramos en WPF es éste:
XAML - get user control position relative to whole window as binding property
Usted aprenderá muy rápido que hay un montón de cosas simples, como la ubicación, que estamos acostumbrados a hacer en WinForms, pero ya no están disponibles para nosotros en WPF.

Aparte de esto, voy a añadir que la curva de aprendizaje más grande con WPF es el hecho de que la secuencia de diseño se invierte completamente a lo que estamos acostumbrados. En WPF, se espera que haya creado todo el funcionamiento interno de su aplicación primero, y luego vincule ese código a la interfaz de usuario en segundo lugar. Esto le ayudará a evitar que se meta en una esquina como usted mencionó, más que cualquier otra cosa.

0

Tenga una mirada en los futuros de WPF en CodePlex aquí http://www.codeplex.com/wpf/Release/ProjectReleases.aspx?ReleaseId=14962 y agarrar el WPF Model-View-ViewModel Toolkit 0.1

Instalación esto le da una plantilla de MVVM en el estudio visual que se puede utilizar para crear un nuevo proyecto.

Este es un buen punto de partida para crear una aplicación WPF utilizando MVVM. La premisa básica para recordar es que, siempre que sea posible, View (UI) y ModelView deben comunicarse únicamente a través del enlace de datos.

me encontré con esta plantilla realmente útil, mientras que yo estaba tratando de conseguir mi cabeza alrededor de WPF.

0

Puede echar un vistazo a WAF Windows Forms Adapter. Presenta la aplicación de muestra Book Library en WPF y Windows Forms. Ambas implementaciones usan el patrón MVVM para separar la UI de la lógica comercial.

Cuestiones relacionadas