在Windows Phone 8.1中,使用ScrollViewer内的ManipulationDelta事件进行捕获操作。

11

我有以下的XAML代码:

<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>

我需要一个仅用于垂直滚动的滚动查看器,并且我需要在事件Grid_ManipulationDelta中捕获TranslateX。

似乎ScrollViewer会抑制其父级所有操作事件。

在我的情况下,如何将滚动查看器中的TranslateX传递(链接)到gird中?

NB:IsHorizontalScrollChainingEnabled="False|True"无法解决问题。

感谢您的时间。


你能试试这个 <StackPanel ManipulationMode="TranslateX" > 吗?这个链接说它可能解决问题 "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" - Jophy job
未解决问题,谢谢。 - Sameh
你尝试过将ScrollViewer的TranslateX绑定到Grid上吗?就像ManipulationMode="{Binding ElementName=scroll, Path=ManipulationMode}"这样。 - Michal Kania
有趣。甚至UIElement.AddHandler都不起作用。我尝试使用UIElement.AddHandler将处理程序添加到各种元素,这应该是一种可以处理标记为已处理事件的方法。但并不起作用。 - Ladi
我尝试了PointerCapture事件,但没有解决问题。 - Bryan Stump
你找到解决方案了吗 :( ? - Hager Aly
1个回答

0
这是因为滚动由合成线程处理。您可以通过将ScrollViewerManipulationMode设置为ManipulationMode.System来强制其在UI线程上处理输入。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接