2010-04-30 26 views
5

¿Cuál es el mejor enfoque para navegar entre UserControls/Pages (fuera de la experiencia del navegador)? Soy bastante nuevo en Silverlight e incluso más nuevo en el patrón mvvm.Silverlight Navigation usando Mvvm-light (oobe) + MEF?

¿Qué tan bien se integra el marco de navegación con el juego de herramientas MVVM Light? Un fragmento para el control de flujo de la aplicación general con los dos sería genial.

El plan era utilizar el Marco de navegación para un flujo general o usar el enfoque de Jeremy Likeness para la administración de la región (http://csharperimage.jeremylikness.com/search/label/regions) e intercambiar regiones según sea necesario. He visto algunos lugares mencionar la sustitución de Visual Root, pero eso me sonó como un truco.

Cualquier consejo, fragmento o un pequeño empujón en la dirección general sería muy apreciado.

Gracias.

+0

buena suerte: P Navegación ain API 'MVVM amigable en absoluto:/ – vidalsasoon

Respuesta

0

Estoy luchando con lo mismo, sin embargo, estoy un poco alejado del "Servicio de navegación" porque supuestamente el diario mantiene la referencia del objeto en la memoria o algo que leí en alguna parte.

He intentado utilizar un marco en la ventana principal y usando mvvm light para enviar mensajes de navegación a la ventana para cambiar el marco.

Editar: Me di cuenta.

En la ventana principal (código detrás, no viewmodel) he añadido un Messenger.Default.Register (De NotificationMessage (De NavMsg)) ...

Luego, en cualquier modelo de vista que hago un Mensajero .Default.Send (Of Notificationmessage (Of NavMsg)) ...

Y luego creé una clase NavMsg que acepta una cadena uri o un objeto para navegar.

Aquí hay algunas plantillas de códigos T4 para generar el código para su vista/modelo de vista para trabajar con mvvmlight y se demostró el mensaje de ventana de cierre anterior. http://dl.activeaspsoftware.net/dl.aspx?f=MvvmLightCodeTemplates.zip

+0

Excelente, espero cortar algo de tiempo hoy o mañana para echar un vistazo. Por cierto bonita mesa multitáctil :) –

Cuestiones relacionadas