Windows 8, GridView SelectionMode and IsToggleTapped [Extension]
- 21 October, 2012 -
- Composants, Windows 8 -
- Tags :
- 0 Comments
La GridView est un tout nouveau contrôles WinRT permettant de gérer des listes horizontal en mode Grille. Vous pouvez en voir un exemple de base ci-dessous.
Par défaut, avec ce contrôle, il est possible de sélectionner un ou plusieurs items de la grille via un Swipe sur l'item que vous souhaitez sélectionné. Un Swipe correspond à un léger drag de l'item vers le bas (ou le haut). Vous obtenez alors un encadré autour de l'item avec une coche. Il est possible de déselectionner un item sélectionné en refaisant le swipe.
La problématique, c'est que cette gesture (mouvement tactile) n'est pas forcément connue de vos utilisateurs. Il est alors possible de désactiver le Swipe via la propriété IsSwipeEnabled. Dans ce cas, il suffit d'effectuer un tap sur un item pour le sélectionner et là c'est le drame car impossible de le dé-sélectionner avec un autre Tap. Du coup, j'ai fais une propriété attachée qui permet très simplement de dé-sélectionner un item toujours avec le tap. Elle s'utilise en mode SelectionMode = Single et avec la propriété IsSwipeEnabled à false. Vous pouvez la télécharger ici.
Pour l'utiliser, il suffit de le spécifier dans le XAML :
Dans pas mal de projets métier Windows 8, on utilise la GridView pour autre chose que du zoom sémantique. Ce n'est pas forcément une mauvaise pratique car on pourrait faire apparaître un panneau de détail simplifié correspondant à l'objet sélectionné par exemple.

