2009-04-17 18 views
8

Esperaba que los controles secundarios de mi ScrollViewer devolvieran los eventos MouseWheel al ScrollViewer automáticamente, y ese no es el caso.La rueda del mouse no funciona cuando está sobre los controles secundarios de ScrollViewer

Tengo un ScrollViewer con un ListBox en él. Si cambio manualmente el ancho del ListBox para que sea menor que el ScrollViewer, MouseWheel funciona en todo el ScrollViewer, pero no tiene efecto cuando el mouse se coloca encima del ListBox.

¿Cuál es la forma estándar de hacer esto? ¿Pongo un activador de evento en el ListBox que dispara el evento en el padre? ¿Manejo y redirecciono el evento en el código?

+1

La respuesta está aquí: http://serialseb.blogspot.com/2007/09/wpf-tips-6-preventing-scrollviewer-from.html –

Respuesta

16

plantilla El ListBox 's tiene un ScrollViewer en ella, de modo que ScrollViewer será el manejo de los eventos y la parada que se propaguen hasta el árbol visual.

¿Qué es exactamente lo que está tratando de lograr teniendo un ListBox dentro de un ScrollViewer? Quizás necesite volver a crear la plantilla del ListBox, pero es imposible decirlo sin más información.

+0

No tenía idea de que ScrollViewer era parte de la plantilla de ListBox, por lo que Estaba bajo la suposición de que tenía que poner el ListBox dentro de un ScrollViewer. Gracias. – Rich

Cuestiones relacionadas