Abbiamo un controllo embedded Microsoft.Phone.Controls.WebBrowser
all'interno di un StackPanel
, all'interno di un PivotItem
su Windows Phone 8. In una forma semplificata, è fondamentalmente:embedded intercetta controllo WebBrowser eventi di scorrimento orizzontali
<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>
Il problema è, a differenza altri controlli, lo WebBrowser
sembra intercettare tutti gli eventi di scorrimento, anche se non è richiesto lo scorrimento interno. Ciò significa che, una volta che il controllo WebBrowser
è sullo schermo, l'unico modo per scorrere fino al prossimo PivotItem
consiste nel toccare le intestazioni nella parte superiore, che è un trascinamento.
Alcuni trucchi che ho provato includono
- Forzare la s interna
ScrollViewer
'HorizontalScrollBarVisibility
aDisabled
- catturare manualmente
ManipulationDelta
e/oManipulationCompleted
eventi e di moltiplicazione inventata io - che non sparano, come si li aspetterei a - Provando ogni possibile permutazione dello
WebBrowser
e della larghezza del genitore per renderlo conto che non è necessario lo scorrimento.
Sembra che qualcosa di straordinario stia succedendo qui. Qualche suggerimento su come cambiare questo comportamento?
È possibile aggiungere un tipo di elenco (ad esempio LongListSelector) anziché WebBrowser e ottenere lo stesso problema. Suppongo che qualcosa di sbagliato con i due pergamene appaia uno dentro l'altro. Inoltre, se si posiziona il browser Web direttamente nella radice di pivotitem (senza stackpanel), sembra che vada bene. –
@Adrian Petrescu Hai risolto il problema che hai menzionato? se sì, come hai risolto? –