我发现当我点击ScrollViewer时,PointerPressed和PointerExited事件会按预期触发。但是,如果我在触摸屏幕并抬起手指后向任何方向滚动,除了PointerCaptureLost外,不会触发任何事件,它会在我滚动时过早触发。当我捕获指针ID并使用计时器轮询PointerPoint的状态时,IsInContact标志保持为真,即使我在滚动后抬起手指也是如此。当我只需点击屏幕时,它会按预期工作。ManipulationCompleted与上面的效果相同,我不能使用ViewChanged事件,因为它会在我抬起手指之前触发。这是一个错误还是我在这里遗漏了什么?还有另
我想制作一个应用程序,当用户触摸他的屏幕时会显示自己。它不应该用于点击。我查找了Windows7/8中的触摸handle。但是我看到每一个触摸窗口都要用RegisterTouchWindow注册长话短说有没有办法让触摸点位置在我的窗外(全局)? 最佳答案 RegisterTouchWindow不再是Win8应用程序所必需的。据我所知,有几种方法可以在有一定限制的情况下实现您的目的。Thisarticlehere适用于Win7和8。但需要供应商ID和触摸屏的产品ID。您的应用程序可能无法在某些触摸设备上正常工作。使用RegisterP
我想知道.Net3.5上的WPF是否支持笔记本电脑的触控或多点触控?有没有很酷的Demo展示一下效果,不胜感激。我正在使用VSTS2008+C#。提前致谢,乔治 最佳答案 WPF4.0Beta2支持完整的多点触控,但仅限于Windows7,因为Windows7是第一个支持多点触控的Windows版本。对于XP上的3.5,您可以在http://code.google.com/p/breezemultitouch/试用WPF3.5多点触控框架的Breeze。它是开源的,可以插入TUIO(multi-touchprotocol).TUIO
假设我有2个显示器。主显示器只是一个普通的PC桌面显示器,另一个是触摸屏。当我加载程序(WinForm、WPF等)时,它将加载到主监视器上。问题:如果我将程序替换为触摸屏,我如何知道当前屏幕/显示器/显示器是触摸屏还是启用了触摸?换句话说,我如何检测当前屏幕/显示器/监视器及其设置?到目前为止,我使用Screen类(Windows.Forms)、Tablet类(Windows.Input)和DLLImport的User32.dll(GetSystemMetrics())。它们或它们的组合都不起作用。我想找到类似的东西:Monitor.Current.IsTouch或Display.Cu
有没有办法在Windows8(最好是在Windows7)中模拟触摸事件。我知道有一个名为Multitouchvista的项目,但我觉得它有点矫枉过正,而且我从来没有让它在多个屏幕上正常工作。我想做的很简单,我想启动一个可以将触摸事件发送到Windows的应用程序,而不需要多个鼠标或类似的东西。可以做到还是我需要(MMV)驱动程序才能做到这一点?谢谢/吉米 最佳答案 我在寻找类似的东西并找到了这篇文章SimulatingTouchInputinWindowsDeveloperpreviewusingTouchInjectionAPI和
我正在寻找适用于Windows10的触摸屏友好型文件选择器。在Windows8和8.1中,我使用了FileOpenPicker:FileOpenPickerfileOpenPicker=newFileOpenPicker();fileOpenPicker.FileTypeFilter.Add(".wma");fileOpenPicker.FileTypeFilter.Add(".mp3");fileOpenPicker.SuggestedStartLocation=PickerLocationId.VideosLibrary;fileOpenPicker.ViewMode=Picker
我有一个WPF.NET4.6应用程序在Windows8.1平板电脑上运行,最近几天我一直在努力使我的应用touch友好,使其按预期工作。我的主要问题与焦点相关,这些问题影响了我应用程序中的多个控件。例如:文本框:有时需要双击或三次触摸才能获得输入焦点,它们会进入鼠标悬停状态但插入符号不存在;ComboBoxes:需要几次触摸才能打开它,一旦触摸一个项目以选择它,组合就会保持打开状态,并突出显示新选择的项目;按钮:点击几下即可运行连接的命令并保持鼠标悬停状态;键盘支持在寻找解决方案时,我尝试了几种方法,但每种方法都有其缺点:移除整个应用程序的平板电脑支持(takenfromhere)。这
我有一个带有刷卡系统的登录应用程序,人们只有在拥有触摸屏时才能使用该系统。他们可以通过刷个人图案刷卡码登录。如果用户有触摸屏,是否可以在C#或WPF中checkin?即使他当时没有使用触摸功能? 最佳答案 在C#代码中,通过在中使用System.Windows.Input命名空间来确定触摸屏是否存在(但不检查它是单点还是多点触摸设备)PresentationCore.publicboolHasTouchInput(){foreach(TabletDevicetabletDeviceinTablet.TabletDevices){//
基本上,我有一个大小为8000像素x8000像素的应用程序。我们可以放大以查看特定部分,例如radio中的示例,或者我们可以缩小以查看所有内容。汽车的每个部分都是一个控件,我们可以在双触控或多点触控显示器上用手指操作。我的问题是:为了操纵一个控件,例如音量按钮,用户需要像在现实生活中一样移动鼠标,所以要进行圆周运动。使用鼠标,一切都很完美,它会立即响应,没有任何延迟。我使用OnMouseLeftButtonDown、OnMouseMove等。对于触摸,计算机似乎很难获得触摸位置并且存在巨大的滞后,尤其是当用户同时用2个手指移动2个不同的按钮时。我使用OnTouchDown、OnTouc
我们开始在Windows8中创建WPF触摸应用程序,最近迁移到Windows10。我们实现的一项功能是在TextBox获得焦点时打开Windows键盘。在Windows8中,可以通过设置注册表设置EdgeTargetDockedState并启动TabTip进程将键盘停靠在底部:stringpath=@"C:\ProgramFiles\CommonFiles\MicrosoftShared\ink\TabTip.exe";varinfo=newProcessStartInfo(path);info.WindowStyle=ProcessWindowStyle.Maximized;varp