【发布时间】:2015-07-23 19:09:48
【问题描述】:
我有以下 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" 不能解决问题。
感谢您的宝贵时间。
【问题讨论】:
-
你能试试这个
。这个链接说它可以解决问题“social.msdn.microsoft.com/Forums/en-US/…” -
没有解决问题,谢谢
-
您是否尝试将 TranslateX 从 ScrollViewer 绑定到 Grid?像 ManipulationMode="{Binding ElementName=scroll, Path=ManipulationMode}"
-
有趣。甚至UIElement.AddHandler 都不起作用。我尝试使用 UIElement.AddHandler 向各种元素添加处理程序,这应该是您可以处理标记为已处理的事件的一种方式。没用。
-
我尝试过 PointerCapture 事件;没有解决问题。
标签: xaml silverlight windows-phone windows-phone-8.1