ScrollViewer捕获PointerPressed + PointerMoved进行滚动

时间:2012-12-01 23:10:48

标签: windows-8 windows-runtime winrt-xaml scrollviewer

我正在创建一个小绘图程序,我在Grid内有一个白色的ScrollViewer

要检测用户是否正在绘图,我会抓住PointerPressed事件将我的变量isUserDrawing设置为true,然后抓住PointerMove事件,如果isUserDrawing我写一条鼠标所在的行。

使用标准鼠标非常有效。但是当我使用模拟器通过触摸测试它时,ScrollViewer正在捕捉事件并开始滚动,Grid不再是触发事件。 反正有没有让ScrollViewer仅用两根手指而不是一根手指作出反应?

3 个答案:

答案 0 :(得分:2)

没有。你可以选择在ScrollViewer上放置透明的东西,然后从中获取输入事件,或者根本不使用ScrollViewer。无论哪种方式 - 您都需要自己处理滚动和缩放。

答案 1 :(得分:0)

尝试:

subitem.ManipulationMode = ManipulationModes.All;

答案 2 :(得分:0)

如果使用子控件,则可以进行设置 Child.ManipulationMode = ManipulationModes.All; 在这种情况下,不会向计算器添加鼓泡。组 Child.ManipulationMode = ManipulationModes.System;用于标准操作。