簡體   English   中英

WPF如何接收觸摸輸入?

[英]How does WPF receive touch input?

我正在使用WPF(C#,Windows 7,.NET 4.0)及其觸摸事件。 在執行此操作時,我想到的一個問題是,wpf如何真正獲得觸摸輸入? 在msdn articel 體系結構概述中 ,據說“應用程序”通過WM_TOUCH消息獲取輸入,但是我找不到有關該文章的年代的信息(因此是否適用於WPF)。 我還閱讀(例如在此處 )您無法在WPF應用程序中接收手勢消息。

那么,WPF是否會在內部轉換觸摸消息,然后通過“ TouchDown”之類的觸摸事件將其顯示給程序員? 如果是這樣,您為什么不能訪問消息? 是否有官方資料明確說明WPF如何接收觸摸輸入?

我相信您在說的更多是觸摸設備的“物理”。 WPF如何從觸摸屏接收輸入?

觸摸屏就像其他任何輸入設備(如鼠標或鍵盤)一樣。 當然,它的工作方式是用手指按壓。 觸摸設備內部的芯片會計算出您所按手指的邊界,面積,坐標,然后操作系統會將其轉換為適當的事件或消息,就像鍵盤或鼠標一樣。 因此,消息不是特定於WPF 所有其他應用程序都基於硬件和操作系統,從操作系統中偵聽相同的“種類”消息,以“消息”或“事件”形式接收touch輸入。

如果您真的想知道WPF如何接收輸入,可以使用出色的ILSpy工具並更深入地研究System.Windows.Input.Touch類。

您可以在此處查看有關觸摸屏機制的更多信息。

附帶說明一下,與鼠標輸入(單點輸入)不同,觸摸是多點輸入。 WPF引發諸如TouchEnterTouchLeaveTouchMoveTouchUpTouchDown等事件,而TouchEventArgs為您提供有關觸摸位置和范圍的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM