使用ScrollViewer Inside捕获ManipulationDelta事件(Windows Phone 8.1)

时间:2015-07-23 19:09:49

标签: xaml silverlight windows-phone windows-phone-8.1

我有以下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_ManipulationDela中捕获TranslateX。

似乎ScrollViewer从其父级禁止所有操作事件。

在我的情况下,如何将TranslateX从滚动查看器传播(链接)到网格?

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

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

这是因为合成器线程正在处理滚动。您可以通过将ManipulationMode的{​​{1}}设置为ScrollViewer来强制它处理UI线程上的输入。