2012-02-01 11 views
13

Me encanta la idea Monocross, pero estoy un poco perdido para Windows Phone 7 cuando quiero usar un control de Panorama y/o Pivote. La única vista proporcionada es la vista de página. ¡Así que navegar de una página a otra funciona muy bien! Pero ahora quiero un Pivot o Panorama. Básicamente, podría crear un nuevo controlador para esta vista, pero obtener las "páginas" dentro de los controles. La navegación realmente navega hacia ella, pero no dentro de la Pivote/Panorama.Uso de Monocross en Windows Phone 7 con Panorama y/o control de pivote

Para muestras de Monotouch y MonoDroid se han preparado cómo hacerlo (básicamente se creó un nuevo controlador de visualización). Pero WP7 se ha quedado atrás.

¿Alguien?

Respuesta

1

También estoy haciendo un desarrollo multiplataforma usando mono y como tú y muchos otros enfrentan el problema de qué hacer con respecto a la interfaz de usuario y otra integración de hardware subyacente.

Decidí que no quería estar a merced de otro marco de terceros (el mono es suficiente) y busqué una solución que pudiera construir y mantener. El nuevo patrón de MVVM junto con Expression Blend es genial, pero pronto te encuentras estancado cuando se trata del desarrollo de plataforma cruzada. Los patrones de MVC an MVP tampoco parecían satisfacer lo que necesitaba. Finalmente se decidió por el patrón PM y lo expandió a un PMH donde el H es para hardware. Para lograr lo que necesitaba, tuve que abstraer los widgets fundamentales (botones, paneles, cuadros de texto) en una capa de plataforma subyacente para cada tipo de dispositivo. Mi capa de plataforma representa alrededor del 1% de mi base de código y me permite proteger la aplicación para cada dispositivo al que me dirijo.

Para mi solución WP7, casi no utilizo HTML alrededor de 25 líneas, lo cual es suficiente para inicializar la aplicación y la página principal. El resto de la interfaz de usuario se organiza programáticamente de la misma manera que lo haría en WinForms. En WP7 sigo haciendo uso del control Pivot, ya que es bastante groovy y estoy modelando un control similar para Android/iPhone. Si bien no será 100% el mismo, será muy similar y aún usará el mismo motor de navegación dentro de mi código central.

Aún no estoy completo con mi desarrollo, pero hasta ahora estoy muy contento con mi progreso. He estado desarrollando la interfaz de usuario para la aplicación de Windows durante unos 20 años y nunca uso las herramientas de creación de interfaz, ya que nunca me dan lo que quiero y realmente pierdo el tiempo (aunque la mezcla es genial) y también crean una tremenda obstrucción del código especialmente en Blend.

0

No puedo ayudar por completo con monocross - Hice una muestra para droide una vez - https://github.com/slodge/monocross-tab-activity-view - pero nunca completé la parte wp7 de eso.

Para mvvmcross ... que está relacionado ... hay un par de ejemplos, uno en el tutorial (¡un poco raro!) Y otro en la aplicación de la conferencia - la muestra preferida.

La técnica básica elijo era utilizar sub-ViewModels para cada "ficha" del panorama - ver cómo el DataContext de enlace de datos se establece para cada artículo en https://github.com/slodge/MvvmCross/blob/master/Sample%20-%20CirriousConference/Cirrious.Conference.UI.WP7/Views/HomeView.xaml

Tenga en cuenta que en una aplicación más grande que puede ser importante problemas de memoria a tener en cuenta al hacer esto, especialmente cuando se utiliza un control de pivote que no carga todas las páginas en la memoria al mismo tiempo (por lo que no es necesario que cargue todos los modelos de vista)

Algunos blogs en la aplicación conf : http://slodge.blogspot.co.uk/2012/03/update-on-mvvmcross-sqlbits-conference.html

Y los últimos bits sql sourc e: https://github.com/slodge/MvvmCross/tree/master/Sample%20-%20CirriousConference

tabs and pivot example