Ribbon and mouse wheel

Jan 7, 2009 at 2:56 PM
The ribbon responds to MouseWheel events by switching the tabs. This is not very useful since the tabs are relatively few and the wheel is used to navigate large lists.

The problem is that if you have a RibbonComboBox with many elements and you NEED to use the wheel , what happens is that the wheel still switches tabs. Scrolling RibbonComboBox lists with the wheel is now impossible!

In Office 2007 ribbon the wheel still switches between tabs, but not when you have an open combo box - then it scrolls the list as expected.

Jan 9, 2009 at 10:49 PM
Hi Banko,

Thanks for reporting the issue.

Yes, it is an office 2007 parity issue. It looks like RibbonComboBox should handle the mouse wheel scroll input, so it doesn’t bubble up to RibbonTab.

I filed a bug to track the issue.

Jan 13, 2009 at 12:46 AM
Edited Jan 13, 2009 at 12:50 AM

It looks like the root cause is that we’re handling the MouseWheel input event in preview call back OnPreviewMouseWheel method in Ribbon.cs. A possible fix would be changing the if statement in OnPreviewMouseWheel method below.


            if (!this.IsMinimized && this.SelectedTab != null)



            if (!this.IsMinimized && this.SelectedTab != null && (Mouse.Captured == this || Mouse.Captured == null))

This way we only handle the event when the captured is Ribbon or null.


Nov 7, 2009 at 11:15 AM



I have the same problem.

Where can I find the Source of the Ribbon to change the mentioned row in ribbon.cs?