2015-07-23 14 views
11

ich den Folge XAML-Code haben:Capture-Manipulation Ereignis mit Scroll Innere (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> 

Ich brauche die Scroll-Viewer für das vertikales Scrollen nur, und ich brauche die TranslateX im Rahmen der Veranstaltung Grid_ManipulationDela erfassen .

Es scheint, dass der ScrollViewer das gesamte Manipulationsereignis von seinem Elternteil unterdrückt.

Wie kann ich den TranslateX in meinem Fall vom Scroll-Viewer zum Gitternetz propagieren (verketten)?

Hinweis: IsHorizontalScrollChainingEnabled="False|True" löst das Problem nicht.

Vielen Dank für Ihre Zeit.

+0

Können Sie dies versuchen . Dieser Link sagt, dass es das Problem lösen kann "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

Das Problem wurde nicht gelöst, danke – Sameh

+0

Haben Sie versucht, TranslateX von ScrollViewer in Grid zu binden? Wie ManipulationsMode = "{Binding ElementName = scroll, Pfad = ManipulationsMode}" –

Antwort

0

Das passiert, weil Scrolling vom Compositor Thread bearbeitet wird. Sie können erzwingen, dass er Eingaben auf dem UI-Thread verarbeitet, indem Sie ManipulationMode von ScrollViewer auf ManipulationMode.System setzen.