UIElement.TryStartDirectManipulation(Pointer) 方法

定义

在包含当前 UIElement 的任何 ScrollViewer 父级上恢复直接操作处理 (系统定义的平移/缩放) 。

public:
 static bool TryStartDirectManipulation(Pointer ^ value);
 static bool TryStartDirectManipulation(Pointer const& value);
public static bool TryStartDirectManipulation(Pointer value);
function tryStartDirectManipulation(value)
Public Shared Function TryStartDirectManipulation (value As Pointer) As Boolean

参数

value
Pointer

启动操作的活动触摸点。

返回

Boolean

bool

true 如果 存在 ScrollViewer 父级,并且设置该值导致恢复平移/缩放操作,则为 。 false 如果调用方法不会导致任何操作,则为 。

注解

默认情况下, ScrollViewer 元素中的触摸输入交互由 UI 线程外的 直接操作 引擎处理。 直接 操作 处理开始后,应用无法直接处理关联的指针事件。 可以在交互开始时ScrollViewer调用 CancelDirectManipulations 并处理 UI 线程上的指针事件,这使你有机会在 中ScrollViewer执行自定义输入处理。

如果在 ScrollViewer 交互开始时取消直接操作处理,则可以调用 TryStartDirectManipulation 以恢复让直接操作处理输入流。 这允许你首先执行自定义输入处理,然后恢复 直接操作 处理,使应用对滚动和缩放等触摸交互更具响应性。

只有活动的触摸触点才能传递给 直接操作。 使用非活动或非触摸触点会导致引发异常。

指定要传递给直接操作的触摸接触会导致框架在父链中向上移动,并在遇到的每个 ScrollViewer直接操作视区上按顺序设置该接触点,直到访问到达任何元素 (包括原始目标元素) ,该元素没有包含 ManipulationModes.SystemManipulationMode。 给定的触摸接触一次只能与单个视觉对象链相关联。 在同一触点上调用 TryStartDirectManipulation 多次会导致任何以前的链被释放。

适用于

另请参阅