2015-07-23 20 views
11

Ho il codice follow XAML:Capture ManipulationDelta Event con ScrollViewer Inside (Windows Phone 8.1)

<Grid ManipulationDelta="Grid_ManipulationDelta" ManipulationMode="TranslateX" Margin="10,134,0,0" HorizontalAlignment="Left" Width="203" Height="120" VerticalAlignment="Top"> 
      <ScrollViewer HorizontalScrollMode="Disabled"> 
       <StackPanel> 
        <TextBlock Text="Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla " Width="182" TextWrapping="Wrap"/> 
        <TextBlock Text="Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla " Width="182" TextWrapping="Wrap"/> 
        <TextBlock Text="Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla " Width="182" TextWrapping="Wrap"/> 
        <TextBlock Text="Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla " Width="182" TextWrapping="Wrap"/> 
        <TextBlock Text="Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla " Width="182" TextWrapping="Wrap"/> 
       </StackPanel> 
      </ScrollViewer> 
     </Grid> 

Ho bisogno lo spettatore di scorrimento per il solo scorrimento verticale, e ho bisogno di catturare il translateX all'interno dell'evento Grid_ManipulationDela .

Sembra che ScrollViewer sopprima tutti gli eventi di manipolazione dal suo genitore.

Come è possibile propagare (concatenare) il TranslateX dal visualizzatore a scorrimento al gird nel mio caso?

NB: IsHorizontalScrollChainingEnabled="False|True" non risolve il problema.

Grazie per il vostro tempo.

+0

Puoi provare questo . Questo link dice che può risolvere il problema "https://social.msdn.microsoft.com/Forums/en-US/d707fe74-58d3-4aee-8094-3d14c06300b6/disable-horizontalscrollmode-of-scrollviewer-and-receiving-manipulation -events-in-the-parent? forum = winappswithcsharp " –

+0

Non risolto il problema, grazie – Sameh

+0

Hai provato a collegare TranslateX da ScrollViewer a Grid? Like ManipulationMode = "{Binding ElementName = scroll, Path = ManipulationMode}" –

risposta

0

Ciò accade perché lo scorrimento viene gestito dal thread di composizione. Puoi forzarlo a gestire l'input sul thread dell'interfaccia utente impostando ManipulationMode del tuo ScrollViewer su ManipulationMode.System.

Problemi correlati