Windows Phone 8.1通用应用程序:ManipulationCompleted事件不会触发

本文关键字:事件 ManipulationCompleted Phone 1通 应用程序 Windows | 更新日期: 2023-09-27 18:08:39

我正在编写一个WP8.1和W8.1的通用应用程序。

在XAML:

中有一个矩形
<Rectangle 
    Fill="Tomato"
    Width="300"
    Height="300"
    ManipulationMode="All"
    ManipulationStarting="UIElement_OnManipulationStarting"
    ManipulationCompleted="UIElement_OnManipulationCompleted"
/>

但是,只有当我在矩形上做一些移动时,才会触发ManipulationCompleted。如果我只是简单的点击,那么只有ManipulationStarting会触发

怎么了?

Windows Phone 8.1通用应用程序:ManipulationCompleted事件不会触发

我使用了PointerReleased事件而不是ManipulationCompleted事件。当你把手指从矩形中松开时,它就会发生。

也可以使用PointerCaptureLost事件

首先,您需要设置ManipulationDelta事件,以便进行一些拖放操作。当第二个触摸点被放置在元素上并且当这个触摸点改变位置时,ManipulationDelta被触发。

ManipulationCompleted事件会在用户的手指离开该元素时触发,并且当任何应用于该元素的惯性完成时触发。如果你只有一个触摸点,就像你描述的那样,没有移动发生,没有速度应用,也没有操作发生。