語言

UIElement.PointerMoved 事件

定義

當指標移動時,指標仍停留在該元素的命中測試區域內。

public:
 virtual event PointerEventHandler ^ PointerMoved;
// Register
event_token PointerMoved(PointerEventHandler const& handler) const;

// Revoke with event_token
void PointerMoved(event_token const* cookie) const;

// Revoke with event_revoker
UIElement::PointerMoved_revoker PointerMoved(auto_revoke_t, PointerEventHandler const& handler) const;
public event PointerEventHandler PointerMoved;
function onPointerMoved(eventArgs) { /* Your code */ }
uIElement.addEventListener("pointermoved", onPointerMoved);
uIElement.removeEventListener("pointermoved", onPointerMoved);
- or -
uIElement.onpointermoved = onPointerMoved;
Public Custom Event PointerMoved As PointerEventHandler 
<uiElement PointerMoved="eventhandler"/>

事件類型

備註

觸控、滑鼠及筆/觸控筆的互動,皆以指標輸入方式接收、處理與管理。 這些互動中的任何一種都可能產生事件 PointerMoved 。 更多資訊請參閱本主題中的 「Handle指標輸入 」以及「滑鼠與觸控筆輸入的PointerMoved」章節。

在某些 UI 情境下,特別是使用者使用滑鼠時,這個事件會頻繁觸發。 注意你放入這個處理器的程式碼效能設定檔,並考慮使用自己的旗標或容差來限制邏輯實際執行的次數。

此事件為路由事件。 欲了解更多路由事件概念,請參閱 事件與路由事件總覽。

對於觸控動作,以及觸控動作結果的互動特定或操作事件,元素必須是點擊測試可見的,才能成為事件來源,並引發與動作相關聯的事件。 UIElement.Visibility 必須是 可見的。 衍生型別的其他特性也會影響命中測試的可見性。 如需詳細資訊,請參閱事件與路由事件概觀。

此事件也支援將事件處理程式附加到將被呼叫的路由上,即使事件資料標示 為已處理。 請參見 AddHandler。

用於滑鼠與觸控筆輸入的 PointerMoved(指標移動)

滑鼠輸入裝置在螢幕上會有一個游標,只要滑鼠越過元素的邊界,即使當時沒有按住滑鼠按鈕,也會看到游標。 類似的行為也適用於筆裝置輸入,輸入裝置能偵測到筆懸停在輸入裝置表面上方,但並未觸碰。 因此,滑鼠和觸控筆的輸入會比觸控輸入更頻繁地觸發 PointerMoved 事件。 更多資訊請參見 滑鼠互動。

相較之下,只有當手指觸碰表面時,觸點才會被偵測到。 只有當該接觸點持續與表面接觸並移動時,才會產生 PointerMoved 接觸點。 對於這類產生 PointerMoved 的觸碰動作,這些動作也很可能會被處理成一種操控或手勢。 更多資訊請參見 「Handle指標輸入」。

當首次偵測到滑鼠輸入時,會對應一個單一指標,且所有由滑鼠發起的互動都有相同的 PointerId。 點擊滑鼠按鍵(左、滾輪或右鍵)會透過 PointerPressed 事件,在指標與該按鈕之間產生次要關聯。 PointerReleases事件僅在放開同一個滑鼠按鈕時觸發(此事件完成前,指標不能有其他按鈕關聯)。 由於這種專屬關聯,其他滑鼠按鈕點擊會經過該 PointerMoved 活動。 你可以在處理此事件時測試滑鼠按鈕狀態,如此範例所示:

某些應用程式,如遊戲,需要追蹤滑鼠相對移動以達成特定功能(例如虛擬軌跡球或觀看攝影機),因此不使用系統游標或絕對螢幕座標。 關於隱藏滑鼠游標及忽略絕對滑鼠資料的細節,請參見 Relative mouse movement 和 CoreWindow。

適用於

另請參閱