首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WPF 模拟触摸设备

在 WPF 中触摸只是框架的一层,可以通过代码模拟触摸 创建一个类继承 TouchDevice 然后重写 GetTouchPoint 和 GetIntermediateTouchPoints 方法,可以在这个类里面通过调用...ReportDown 等方法模拟触摸的按下和移动 最简单的实现请看下面代码 public class BurnerkadelWallnadarli : TouchDevice {...通过 TouchDevice.LocalHitTest 方法拿到命中测试的元素,在底层调用的是 MouseDevice.LocalHitTest 方法 所以可以通过上面定义的类模拟触摸,只需要创建出来,...然后调用对应的方法就可以,如下面的代码就模拟了按下和移动 var burnerkadelWallnadarli = new BurnerkadelWallnadarli(1, this); await...(); 通过这个方法模拟触摸可以走原有的 WPF 触摸命中测试,也能走路由事件 关于 WPF 的触摸到事件请看 WPF 触摸到事件 本文用到的代码放在 github 更多触摸请看 WPF 触摸相关

70160

WPF 通过 InputManager 模拟调度触摸事件

本文告诉大家如何模拟调度一个触摸事件 本文的内容属于没有任何官方文档的支持的内容,以下是我看 WPF 源代码了解到的用法 在输入管理里面可以通过 System.Windows.Input.InputManager.Current...return input as StagingAreaInputItem; } 也就是本质上都是调用了元素的 RaiseEvent 方法,里面没有什么判断逻辑 按照上面的逻辑,咱可以尝试自己模拟触发触摸事件...不过创建一个 TouchEventArgs 还是比较复杂的逻辑,需要用 WPF 模拟触摸设备 但是简单的测试是可以通过触摸一下屏幕,保存触摸事件的参数 private void OnTouchDown...,可以看到鼠标点击的时候同样触发了触摸按下事件 那如果想要模拟触发触摸移动的事件呢?...的后半部分,从 WPF 触摸到路由事件,是如何从触摸事件让对应的元素触发 本文的方法仅是模拟事件的触发,如果想要修改触摸的点的坐标等,需要自己实现 TouchDevice 类,请看 WPF 模拟触摸设备

78730
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    How-to:利用MultiTouchVista模拟Windows Phone 7的多点触摸

    引言     近来有消息称,WP7会在明年下半年在中国上市,这对于广大国内的爱好者来说,无疑是个杯具,一般来说,我们只能用模拟器来进行测试了。...上回写到了《How-to: 利用Web Camera模拟Windows Phone 7的重力加速度传感器》,我们可以利用PC摄像头进行Windows Phone 7上的重力加速度模拟。...这样,就可以在Windows 7下使用两个鼠标来模拟两个输入了。可以自己打开一个画图试试。...Windows Phone 7上的多点触摸测试     这里,我们可以直接使用Silverlight for Windows Phone Toolkit来进行测试,大家可以到codeplex上进行下载。...其中有一个Demo就是有关Gesture的,可以测试多种手势,其中就包含多点触摸的,下面是程序截图:     大家有兴趣的话,可以自己实践一下!

    1.1K90

    WPF 触摸失效 试试重启触摸

    在使用一些诡异的系统以及诡异的触摸框的时候,也许会出现 WPF 程序触摸失效,失效的本质原因是 Win32 层应用触摸失效。...也许出现的问题是某个窗口设置 TopMost 然后插拔一些触摸设备等,这些行为,如果触摸设备太过诡异,也许就会让 Win32 窗口触摸失效。...而我自己基于开源的 WPF 框架也定制了可以从触摸线程都重启的强力版本,当然了,这个版本非开源的版本 在使用本文的方法之前,请确定你对触摸有足够的了解 如果你对触摸的了解很少,那么我推荐你先看以下博客...WPF 触摸屏应用需要了解的知识 浅谈 Windows 桌面端触摸架构演进 WPF 客户端开发需要知道的触摸失效问题 对于 Win32 应用来说,如果应用的触摸失效了,可以的解决方法是重新注册一次触摸,...关于在 WPF 中的触摸调用细节请看 WPF 触摸到事件 和 WPF 通过 InputManager 模拟调度触摸事件 重启注册触摸的步骤就是先反注册,然后再次注册。

    1.3K40

    WPF 插拔触摸设备触摸失效

    最近使用 WPF 程序,在不停插拔触摸设备会让 WPF 程序触摸失效。通过分析 WPF 源代码可以找到 WPF 触摸失效的原因。...获取触摸流程循环用于拿到用户触摸相关。很多的时候,在用户正常使用的流程只是运行初始化流程循环一次,之后在用户触摸的时候就通过获取触摸流程循环拿到值。...因为 GetPenEvent 和 GetPenEventMultiple 都只有在触摸屏收到触摸信息或者 _pimcResetHandle 被释放会返回,而在用户拔出触摸屏时,触摸屏是没有收到触摸信息,...因为在用户插入触摸屏时触发了 TabletAdded 消息,在之后用户触摸时不会有其他的插拔触摸相关消息。...实际上这里在 _handles 没有值就是用户没有触摸屏,用户插入触摸屏的时间是很少的,没有几个用户一天没事都在插入拔出触摸屏,所以在用户插入触摸屏时再创建一个新的线程,在用户拔出触摸屏去掉这个线程是可以的

    1.7K10

    Axon VR获VR触觉相关专利,可模拟触摸皮肤的感觉

    AxonVR将依据此专利打造一套全身VR触觉系统,在虚拟现实中模拟真实的触觉。 Axon VR是一家创立于2012年的技术型驱动公司,在去年获得580万美元的种子轮投资。...从Axon VR的专利描述来看,它包括一个外骨骼装置和由微流体技术模拟的触觉交互装置。系统中的外骨骼进行力量反馈,触觉块则用来模拟不同形状和纹理特性的皮肤感觉。...其中,微流体技术是一种基础的技术,已经在模拟训练、工程设计以及家庭娱乐应用中得以验证。不过,这个交互系统并不能够在短期内投入消费市场。 最近,这套系统亮相游戏开发者大会GDC。...体验者将手放进一个3英尺的立方体装置上,掌心朝上,可以将虚拟物体放在手中,并且有一系列触觉块正在模拟这些虚拟物体的大小、形状、重量、纹理和温度。

    88350

    WPF 从触摸消息转触摸事件

    但是还可以收到系统的触摸消息,可以通过本文的黑科技收到触摸 在 WPF 的框架,触摸是从 PENIMC 里面获取的,如果通过自己创建一个模拟触摸设备,请看 WPF 模拟触摸设备 也可以做到模拟一个触摸...在默认的 WPF 程序是收不到系统的触摸消息,需要禁用实时触摸才可以收到触摸消息,在 Win7 和之后都可以从系统收到 WM_TOUCH 消息,通过这个消息可以解析当前的触摸点和触摸面积,通过这两个值可以用来模拟触摸走原有的...Window 的 SourceInitialized 事件触发之后才能调用 创建 MessageTouchDevice 继承 TouchDevice 从 WPF 模拟触摸设备 可以知道这个类可以用来模拟触摸...NativeMethods.TouchInputSize); 如果可以拿到输入,那么 GetTouchInputInfo 将会返回 true 通过这个判断 然后遍历 inputs 输入进行转换事件,从 WPF 模拟触摸设备...Pointer 消息 将触摸消息转 Pointer 消息进行模拟

    1.2K20

    模拟风粒子效果(​Windy-js

    我使用 JavaScript 编写了一个脚本,模拟风的粒子效果。这个脚本不仅能够展示风的流动,还可以通过风向和风力参数来改变粒子的运动方向和速度。...1、定义画布 2、引用脚本 3、使用 // 测试,更改这些值以调整风向和强度...windyanimate(windAngle, windStrength);// 调用粒子动画方法 可以根据天气预报接口,动态改变 windyanimate(windAngle, windStrength)方法的参数,模拟真实风场效果...这个 JavaScript 脚本已经能够较为真实地模拟天气预报中的风效果。你可以自由调整风向和风力参数,观察粒子随之产生的变化。如果你在自己的项目中需要实现类似的功能,不妨尝试一下这个脚本。...详细代码和使用说明,请访问我的GitHub仓库:https://github.com/fiyo/windy-js。 希望这个工具能对你的项目有所帮助!

    27800

    模拟实现 new 操作符(js)

    js 不是基于 class 这种静态类模式,而是基于原型对象的模式。 所以,在 js 中,new 操作符,其实可以通俗的理解成一个辅助工具,用来辅助函数构造出一个新对象。...所以,我们才能够来模拟实现它,因为它其实通俗理解,就是一个工具函数。 得先明确这点,才能知道,的确是可以模拟 new 操作符的。...以上这种场景的 new 操作符其实就是做了几件事: 创建一个继承自 A.prototype 的空对象 让空对象作为函数 A 的上下文,并调用 A 返回这个空对象 这是基本的 new 使用的场景,那么我们要来模拟实现的话...new 操作符的所有职责或者说所有使用场景覆盖了: 用户定义的对象类型 ==> 当构造函数有返回值时 具有构造函数的内置对象 ==> 当前函数可用来作为构造函数,那么返回内部创建的新对象 所以,要完整模拟一个...没错,从引擎角度来看,的确是这样处理,但这些内部属性我们并没有办法看到的啊,那对于我们这些写 js 的来说,如何判断一个函数是否能够作为构造函数呢?靠经验积累?

    3.6K10

    Node.js股票模拟交易后台

    我曾经花了一周时间开发了一个股票模拟交易后台程序,使用Node.js。代码量很少,能完成基本功能。下面给大家介绍一下其实现步骤。...模拟交易采用更简单的即时成交机制,只要符合条件,订单立即成交。 这个后台程序一共就两个js文件,一个用于处理成交,即判断成交条件,写数据库。另一个处理其他逻辑。...这个后台程序以一个node.js进程的方式运行,一个10秒一次的定时器执行成交判断。(真实交易所的撮合器也是10秒钟一次) 此外有一个WebAPI Server接受来自客户端的请求。...佣金字段用于模拟交易的手续费和税费。可用资金字段是,当用户挂单的时候有一部分资金处于冻结状态,可用资金就是去除冻结资金的金额。...额外津贴记录表(记录除权,除息) 资金记录表(记录特殊资金变动) 仓位表 - 仓位记录表(记录仓位变化) 做空仓位记录表 排行榜 挂单 挂单的核心就是向数据库插入一条记录,不过即便是简洁的js

    2.9K30
    领券