2009-04-17 3 views
8

Ich habe erwartet, dass die untergeordneten Steuerelemente von ScrollViewer die MouseWheel-Ereignisse automatisch an den ScrollViewer übergeben, und das ist nicht der Fall.Mausrad funktioniert nicht, wenn die Kindersteuerelemente des ScrollViewers

Ich habe einen ScrollViewer mit einer ListBox drin. Wenn ich die Breite der ListBox manuell kleiner als den ScrollViewer bin, funktioniert das MouseWheel auf allen ScrollViewer, hat aber keine Auswirkungen, wenn die Maus über der ListBox positioniert wird.

Was ist der Standard Weg, dies zu tun? Lege ich einen Ereignisauslöser auf die ListBox, die das Ereignis auf dem übergeordneten Element auslöst? Beherrsche ich das Ereignis im Code und leite es um?

+1

Antwort ist hier: http://serialseb.blogspot.com/2007/09/wpf-tips-6-preventing-scrollviewer-from.html –

Antwort

16

Die Vorlage ListBox enthält eine ScrollViewer, so dass ScrollViewer die Ereignisse behandelt und sie davon abhält, den visuellen Baum weiter zu verbreiten.

Was genau versuchen Sie zu erreichen, indem Sie eine ListBox innerhalb einer ScrollViewer haben? Vielleicht müssen Sie die ListBox neu Vorlage, aber es ist unmöglich, ohne weitere Informationen zu sagen.

+0

Ich hatte keine Ahnung, dass der ScrollViewer Teil der ListBox Vorlage war, so Ich ging davon aus, dass ich die ListBox in einen ScrollViewer einbauen musste. Vielen Dank. – Rich

Verwandte Themen