2013-01-17 6 views
12

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 a Disabled
  • catturare manualmente ManipulationDelta e/o ManipulationCompleted 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?

+1

È 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. –

+0

@Adrian Petrescu Hai risolto il problema che hai menzionato? se sì, come hai risolto? –

risposta

Problemi correlati