Colocación de diferentes elementos en una lista horizontal en una aplicación de la Tienda Windows
Frecuentes
Visto 974 equipos
2
Quiero desarrollar mi aplicación con el siguiente estilo/diseño:
Algunos comentarios sobre la implementación:
- El contenido se carga dinámicamente (las tres categorías (Subtítulo 1-3) son fijas.
- El número de subelementos (gris) puede variar
- Quiero que el usuario pueda desplazarse hacia la derecha (como es habitual en metro-apps)
Desafortunadamente tengo algunas dificultades con la implementación (en XAML):
Probé un GridView (como en los tutoriales de ejemplo) que tiene un VirtualizingStackPanel (Orientación = Horizontal) dentro de ItemsPanelTemplate. Las tres categorías (Verde, Amarillo, Gris) se muestran como cuadrículas con diferentes plantillas.
Esto funciona mayormente bien, pero ahora tengo múltiples funciones de GridView que no me gustan/necesito: puedo seleccionarlo y arrastrarlo un poco. Deshabilité el modo de selección, etc. Desafortunadamente, el efecto Hover todavía tiene lugar, así como la posibilidad de arrastrar un poco toda la categoría. Intenté IsHitTestVisible=false, lo que eliminó este desplazamiento y arrastre, pero deshabilitó todos los botones y eventos de clic dentro de las categorías.
¿Cómo puedo hacer esto mejor, por ejemplo, resolver mi problema?
Cualquier pista y sugerencia son muy apreciadas. ¡Gracias!
2 Respuestas
3
Puede usar un ScrollViewer con Style="{StaticResource HorizontalScrollViewerStyle}" y poner un StackPanel con las tres categorías como ItemsControls con ItemsPanels definidos como desee o puede modificar la plantilla de GridViewItem para cambiar lo que sucede cuando pasa el mouse. Debería abrir el archivo XAML en el diseñador, hacer clic con el botón derecho en GridView y seleccionar Editar plantillas adicionales/Editar contenedor de elementos generados (ItemContainerStyle)/Editar una copia... - que extrae la plantilla predeterminada y mira el estado visual de PointerOver para ver qué necesita ser cambiado. Puede simplemente eliminar el guión gráfico de VisualState o también eliminar los controles relacionados que se usan para visualizar los comentarios de desplazamiento.
Respondido 31 Jul 12, 17:07
0
En Windows 8.1 puede utilizar el [Windows.UI.Xaml.Controls.Hub][1]
control para esto, lo cual se demuestra en el Ejemplo de control del concentrador XAML. Este control está hecho para presentar conjuntos de datos heterogéneos como los que ilustra, y puede contener GridViews secundarios y demás.
respondido 27 mar '14, 16:03
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas gridview windows-runtime windows-store-apps or haz tu propia pregunta.
Gracias, eso es exactamente lo que hice: edité GridView-Template y GridView-Item-Template. Eso funcionó muy bien :) La siguiente publicación muestra un buen ejemplo para todos los interesados: blogs.u2u.be/diederik/post/2012/07/09/… - casa fuera