2015-07-23 79 views
11

mam kod obserwacji XAML:Przechwytywanie ManipulationDelta Event z ScrollViewer wewnętrzne (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> 

muszę widza przewijania dla jedynego przewijania pionowego i muszę uchwycić TranslateX w przypadku Grid_ManipulationDela .

Wygląda na to, że ScrollViewer Pomija całe zdarzenie manipulacji z jego rodzica.

Jak mogę propagować (łączyć) język TranslateX z przeglądarki przewijania do paska w moim przypadku?

UWAGA: IsHorizontalScrollChainingEnabled="False|True" nie rozwiązuje problemu.

Dziękuję za poświęcony czas.

+0

Możesz spróbować tego . Ten link informuje, że może rozwiązać problem "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

Nie udało się rozwiązać problemu, dziękuję – Sameh

+0

Czy próbowałeś powiązać TranslateX z ScrollViewer do Grid? Podobnie jak ManipulationMode = "{Binding ElementName = scroll, Path = ManipulationMode}" –

Odpowiedz

0

Dzieje się tak, ponieważ przewijanie jest obsługiwane przez wątek kompozytu. Możesz wymusić na nim obsługę wejścia na wątku UI, ustawiając ManipulationMode swojego ScrollViewer na ManipulationMode.System.