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
'sHorizontalScrollBarVisibility
toDisabled
- Manually capturing
ManipulationDelta
and/orManipulationCompleted
events and propagating them up myself — they don't fire as you would expect them to - Trying every possible permutation of the
WebBrowser
and 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?