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,但這可能會因特定控制項和元素而異。 請參閱<備註>。

備註

如果您想要處理來自應用程式程式碼中 UI 元素的 ManipulationStarted之類的操作事件,則必須將 ManipulationMode 設定為SystemNone以外的值。 如需操作的詳細資訊,請參閱 處理指標輸入

ManipulationMode 的一般預設值是 System 而非 None。 當值為System時,源自專案的操作可由以直接操作API 為基礎的Windows 執行階段基礎結構處理。 例如, ScrollViewer 會在其控制項邏輯中處理使用者操作,並將其處理為控制項的捲動動作。 系統值也會啟用可回應操作事件的特質動畫。

SliderToggleSwitch 有預設範本,會將 ManipulationMode 值設定為 None,因此 None 會是您在設計階段看到的預設值。

您可以將多個標幟 的 ManipulationModes 值指定為 ManipulationMode 屬性的值。 這可以在 XAML 中使用「XAML 值」區段中所示的逗號語法來達成。 例如,您可以結合 TranslateXTranslateYRotateScale,或其中任何組合。 不過,並非所有組合都是有效的。 只有在特定控制項使用 ManipulationModes 之後,才會強制執行有效性,因此設定 ManipulationModes 無效組合的問題,在套用值之前可能不會顯示。

  • 請勿將 Translate* 值與 TranslateRails* 值結合,這些值會被視為互斥值。
  • 請勿將慣性值與非慣性值結合。
  • 如果值的位) 比較, 則 All 值不是所有旗標 (真正的加總值。 All的值不一定表示所有值的組合有效,或是已設定任何特定值。

舊版的注意事項

Windows 8.x On Windows 8,將 ManipulationMode 設定為結合System與任何其他值的值將會擲回例外狀況,因此上述部分組合不適用於Windows 8。 從 Windows 8.1 開始,您可以將System與其他值結合。

已針對Windows 8編譯但執行于Windows 8.1的應用程式會使用新的行為,並允許將System與其他值結合。

適用於

另請參閱