Existe-t-il un moyen d’activer le défilement tactile dans WPF ScrollViewer?

J’essaie de créer un formulaire dans une application WPF qui permettra à l’utilisateur d’utiliser des gestes de type iPhone pour faire défiler les champs disponibles. Donc, j’ai placé tous mes contrôles de formulaire dans un StackPanel dans un ScrollViewer, et la barre de défilement apparaît comme prévu quand il y a trop d’éléments à afficher à l’écran.

Cependant, lorsque j’essaie de tester cela sur mon périphérique tactile, un geste panoramique (en plaçant un doigt sur la surface et en le faisant glisser vers le haut) ne déplace pas la zone visible comme prévu.

Lorsque je mets simplement un certain nombre d’éléments dans un ListView, les gestes tactiles fonctionnent correctement. Existe-t-il un moyen d’activer le même type de comportement dans ScrollViewer?

Ma fenêtre est structurée comme ceci:

                    

Vous devez utiliser les propriétés ci-jointes:

  • ScrollViewer.PanningMode
  • ScrollViewer.PanningDeceleration
  • ScrollViewer.PanningRatio

Le paramètre PanningMode est défini par défaut sur Aucun dans le style par défaut de ScrollViewer, mais sa définition sur une autre valeur active le défilement tactile. J’étudie actuellement l’utilisation de cette fonctionnalité dans mon application et je recherche une bonne décélération et une bonne valeur de rapport … Je devrai probablement les tester pour trouver quelque chose qui fonctionne bien.

Si vous utilisez .NET 4.0, il y a une nouveauté récente de l’équipe Microsoft! Ils ont porté tous ces jolis contrôles Surface sur Win7. SurfaceScrollViewer est vraiment cool comme iphone one. Installez cette boîte à outils et démarrez un projet SurfaceWin7Touch à partir du modèle de projet VS2010 http://www.microsoft.com/en-us/download/details.aspx?id=26716