处理轻扫手势语在Windows 8中电网(Handling Swipe Guesture in Wi

2019-06-24 22:41发布

我想实现它由一些帆布元素作为孩子,当刷卡动作对电网做了一个网格的自定义控件,我打算瓶坯与画布元素的一些操作。 我无法处理电网的刷卡,我已经张贴在同一MSDN - win8的开发论坛

Answer 1:

我是在同一条船上,你们这些家伙,因为没有样品在那里对这个是怎么做的,但仔细阅读和审查关于如何滑动手势是在Windows 8商店应用使用C#实现的MSDN文档后,这是什么我想出了(和它的作品对我的应用程序,它需要刷卡上/下/左/右):

首先,而不是GestureRecognizer,操纵事件需要被使用,因此对电网要办理刷卡(让说,你让这个需要整个屏幕,以便它解释手势)做以下:

我打电话给电网swipingSurface,我处理两个Y轴和X轴的操作模式:

swipingSurface.ManipulationMode = ManipulationModes.TranslateX | ManipulationModes.TranslateY;

再用线将您要通知操纵事件,在我来说,我只是想知道,那么操作开始和结束的:

swipingSurface.ManipulationStarted += OnManipulationStarted;
swipingSurface.ManipulationCompleted += OnManipulationCompleted;

您是否想在你的操控开始,如获取初始点,如果你想要的。 但实际的诀窍是在ManipulationCompleted事件,在其中你需要得到从速度对你的姿势导致,具体如下:

public void OnManipulationCompleted(object sender, ManipulationCompletedEventArgs e) {
    var velocities = e.Velocities;      
}

该ManipulationCompletedEventArgs财产速度对将带回型ManipulationVelocities,其中包含内的其他属性的结构:

- :在每毫秒度的旋转速度。

- 扩展 :扩展,或缩放,在每毫秒的DIP速度。

- 线性 :在每毫秒蘸直线速度。

实际上,我看的线速度,这是一个包含表示对其执行手势的方向X和Y值的 ; 例如,如果刷卡是向上的,你会发现,Y值是正的,而如果其向下的Y值是负的; 这同样适用X值,如果刷卡时离开时,X值是负的,如果刷卡是正确的,X值是正的,所以你可以使用这些值玩耍并检查您的刷卡方向,最终积分等。

希望这可以帮助。



Answer 2:

你可以尝试在你刷卡,能够控制设置ManipulationMode和处理手法〜事件。 需要注意的是一些控制可能会停止UI事件冒泡,所以如果你说把你的控制按钮或ScrollViewer中的内 - 事件可能无法正常工作。



Answer 3:

你可以检查出SwipeHintThemeAnimation使用GestureRecognizer挂钩到一个矩形控制或修改,使其能够使用Grid控件,请参阅该文档 。



文章来源: Handling Swipe Guesture in Windows 8 Grid