UIElement.ManipulationMode 属性

定义

获取或设置用于 UIElement 行为和手势交互的 ManipulationModes 值。 设置此值可处理应用代码中此元素的操作事件。

public:
 property ManipulationModes ManipulationMode { ManipulationModes get(); void set(ManipulationModes value); };
ManipulationModes ManipulationMode();

void ManipulationMode(ManipulationModes value);
public ManipulationModes ManipulationMode { get; set; }
var manipulationModes = uIElement.manipulationMode;
uIElement.manipulationMode = manipulationModes;
Public Property ManipulationMode As ManipulationModes
<uiElement ManipulationMode="All"/>
-or-
<uiElement ManipulationMode="None"/>
-or-
<uiElement ManipulationMode="singleManipulationModesMemberName"/>
-or-
<uiElement ManipulationMode="relatedManipulationModesNames"/>

属性值

枚举的一个或多个值。 默认值通常为 System,但这可能因特定控件和元素而异。 请参阅“备注”。

注解

如果要在应用代码中处理操作事件(如 ManipulationStarted),必须将 ManipulationMode 设置为 System 或None 以外的值。 有关操作的详细信息,请参阅 处理指针输入

ManipulationMode 的典型默认值为 System 而不是 None。 如果值为 System,则源自 元素的操作可由基于直接操作 API 的Windows 运行时基础结构进行处理。 例如, ScrollViewer 在其控件逻辑中处理用户操作,并将其作为控件的滚动操作进行处理。 System 值还支持响应操作事件的个性动画。

SliderToggleSwitch 具有将 ManipulationMode 值设置为 None 的默认模板,因此 None 将是你在设计时看到的默认值。

可以将多个具有标志的 ManipulationModes 值指定为 ManipulationMode 属性的值。 这在 XAML 中使用“XAML 值”部分中显示的逗号语法是可能的。 例如,可以组合 TranslateXTranslateYRotateScale,或这些组合。 但是,并非所有组合都有效。 只有在特定控件使用 ManipulationModes 时才会强制实施有效性,因此,在应用值时运行时,设置 无效的 ManipulationModes 组合的问题可能不会出现。

  • 不要将 Translate* 值与 TranslateRails* 值组合在一起,这些值被视为互斥值。
  • 不要将惯性值与非惯性值组合在一起。
  • 如果值按位比较) ,则所有值不是所有标志 (的真正累加值。 值 All 不一定指示所有值的组合有效,或者已设置任何特定值。

早期版本的说明

Windows 8.x 在 Windows 8 上,将 ManipulationMode 设置为将 System 与任何其他值组合的值将引发异常,因此上述某些组合不适用于Windows 8。 从 Windows 8.1 开始,可以将 System 与其他值组合在一起。

为Windows 8编译但在 Windows 8.1上运行的应用使用新行为,并允许将 System 与其他值组合在一起。

适用于

另请参阅