我確定我已經讀過,有一種方法可以在WPF應用程序中獲取TouchDown的座標,並找出觸摸屏幕下方的「UI元素」。誰能幫忙?在觸摸座標獲取UI元素
1
A
回答
0
您必須對視覺樹做hit test。
下面是一個例子鼠標點擊(但觸摸或多或少在這方面同樣的事情):
// Respond to the left mouse button down event by initiating the hit test.
private void OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
// Retrieve the coordinate of the mouse position.
Point pt = e.GetPosition((UIElement)sender);
// Perform the hit test against a given portion of the visual object tree.
HitTestResult result = VisualTreeHelper.HitTest(myCanvas, pt);
if (result != null)
{
// Perform action on hit visual object.
}
}
的HitTest其他重載可以給你多打的視覺效果。
0
讓你的UI元素擴展的UIElement類是這樣的:
class MyUIElement : UIElement
{
protected override void OnManipulationStarting(System.Windows.Input.ManipulationStartingEventArgs e)
{
base.OnManipulationStarting(e);
UIElement involvedUIElement = e.Source as UIElement;
// to cancel the touch manipulaiton:
e.Cancel();
}
}
involvedUIElement應該認爲提出的觸摸事件的UI元素,如果你需要取消你只需要調用e.Cancel();
我希望這會有所幫助!
相關問題
- 1. 獲取座標,連續兩次觸摸
- 2. 捏縮放 - 獲取觸摸座標
- 3. 獲取奇怪的觸摸座標
- 4. 如何獲取觸摸事件點相對於目標元素的x座標?
- 5. Unity3D - 獲取觸摸輸入但不在UI元素上
- 6. 獲取元素的座標
- 7. 獲取已轉換元素的本地座標中的已觸摸位置
- 8. 在textview中觸摸座標
- 9. jQuery獲取觸摸元素類名
- 10. 獲取用戶界面元素觸摸
- 11. 在子視圖中獲取觸摸的座標?
- 12. 如何在呈現popover之前獲取觸摸座標?
- 13. 在畫布內部獲取相對觸摸座標
- 14. UIView觸摸位置座標
- 15. 離奇觸摸座標
- 16. iPhone多點觸摸座標
- 17. 從UIPanGestureRecognizer觸摸座標
- 18. Android觸摸輸入:座標?
- 19. 統一c#觸摸座標
- 20. 鼠標/觸摸座標在cocos2d-x
- 21. 獲取jQuery元素數組的座標
- 22. 通過座標獲取元素?
- 23. 獲取`img`元素的XY座標
- 24. Applescript - 獲取元素的座標
- 25. 獲取DOM元素的屏幕座標
- 26. UI元素座標到UI元素屬性
- 27. 獲取觸摸座標的嚴重問題
- 28. 是否可以獲取觸摸的x和y座標?
- 29. 獲取觸摸座標(以0-480和0-320的形式)
- 30. 獲取觸摸座標相對於視圖(ScreenToClient等效?)
爲什麼你想知道用戶界面元素是'底下'這個接觸?你需要排除操縱嗎? 你什麼時候需要它?在操縱三角洲? – simo
我這樣做,我一直想弄清楚如何從頁面滑動操作中排除我的按鈕。 *嘆*看到這裏:http://goo.gl/pCdVSr – Jordan