We've got a Microsoft.Phone.Controls.WebBrowser embedded control inside a StackPanel, inside a PivotItem on Windows Phone 8. In a simplified form, it's basically:
<Grid>
<controls:Pivot Width="425" Margin="50,0,0,0">
<controls:PivotItem Margin="0,0,0,0" Width="400">
<StackPanel>
<!-- Other stuff -->
<phone:WebBrowser Margin="0,0,0,0" Padding="0,0,0,0" Width="400" Height="600" />
</StackPanel>
</controls:PivotItem>
</controls:Pivot>
</Grid>
The problem is, unlike other controls, the WebBrowser seems to intercept all scroll events, even if no internal scrolling is required. This basically means that, once the WebBrowser control is on the screen, the only way to scroll to the next PivotItem is to tap on the headers at the top, which is a drag.
Some tricks I've tried include
- Forcing the internal
ScrollViewer'sHorizontalScrollBarVisibilitytoDisabled - Manually capturing
ManipulationDeltaand/orManipulationCompletedevents and propagating them up myself — they don't fire as you would expect them to - Trying every possible permutation of the
WebBrowserand parent's width to make it realize that no scrolling is necessary.
It seems like something out of the ordinary is going on here. Any suggestions on how to change this behaviour?