2009-04-17 6 views
8

Je m'attendais à ce que les contrôles enfants de mon ScrollViewer transmettent automatiquement les événements MouseWheel au ScrollViewer, ce qui n'est pas le cas.La roulette de la souris ne fonctionne pas avec les commandes enfants de ScrollViewer

J'ai un ScrollViewer avec un ListBox dedans. Si je redimensionne manuellement la largeur de ListBox pour être inférieure à ScrollViewer, MouseWheel fonctionne sur tous les ScrollViewer mais n'a aucun effet lorsque la souris est placée au-dessus de ListBox.

Quelle est la manière standard de faire cela? Est-ce que je mets un déclencheur d'événement sur le ListBox qui déclenche l'événement sur le parent? Est-ce que je gère et redirige l'événement dans le code derrière?

+1

La réponse est ici: http://serialseb.blogspot.com/2007/09/wpf-tips-6-preventing-scrollviewer-from.html –

Répondre

16

Le modèle ListBox comporte un ScrollViewer, de sorte que ScrollViewer gère les événements et les empêche de propager l'arborescence visuelle.

Qu'essayez-vous d'obtenir en ayant un ListBox dans un ScrollViewer? Peut-être que vous avez besoin de re-template le ListBox, mais il est impossible de le dire sans plus d'informations.

+0

Je n'avais aucune idée que le ScrollViewer faisait partie du modèle de la ListBox, donc J'étais sous l'hypothèse que je devais mettre le ListBox à l'intérieur d'un ScrollViewer. Merci. – Rich

Questions connexes