2012-05-04 7 views
5

estoy tratando de poner en práctica un estilo de Metro elementos agrupados página utilizando el marco de MVVM Light después de la muestra en esta entrada del blog, pero utilizando un ViewModelLocator para proporcionar capacidad de mezclado:¿Cómo puedo hacer que MVVM Light funcione bien con una página de elementos agrupados en Metro?

http://mikaelkoskinen.net/post/winrt-tutorial-mvvm-gridview-semanticzoom.aspx

He conseguido este trabajo, por desgracia, el la cuadrícula en sí no se muestra en el diseñador (que es el punto de que yo use MVVM Light). He vinculado el título sin problema, así que sé que el modelo de vista está correctamente encuadernado.

¿Alguna idea por favor?

+0

He investigado esto más a fondo mediante el uso de una vista de lista simple vinculada a una colección observable. En el diseñador, es vinculante para la colección. Puedo decir esto porque puedo ver los bloques de texto codificados en la plantilla de datos. Sin embargo, cualquier bloque de texto que esté vinculado a una propiedad de modelo de vista (incluso si el valor está codificado) no se muestra en el diseñador :( –

+0

¿Puedes publicar un ejemplo del xaml que no funciona? Creo que me encontré con esto y yo si ItemsSource de GridView se uniera directamente al viewmodel en lugar de a través de un CollectionViewSource. – Michael

+0

Filip, @DanRyan, ¿lograste que funcionara? Tengo el mismo problema aquí. –

Respuesta

5

Tuve el mismo problema. La cuestión es, si usted está usando un CollectionViewSource, que tiene que ser explícita, como esto:

Como MVVM Light inyecta en tiempo de diseño de servicios en el modelo de vista que cabría esperar para recoger este su servicio e impulse los datos de tiempo de diseño a través del modelo de vista a la interfaz de usuario. Pero no es así

Necesitas darle una instancia en tiempo de diseño explícito para que esto funcione:

hay un artículo útil sobre using CollectionViewSource in design mode que pueden ayudar.

Cuestiones relacionadas