在WPF应用程序中禁用右键单击(按住).

Vit*_*lij 12 wpf windows-xp-embedded right-click touch

我正在研究在Windows XP Standard上运行的触摸屏应用程序.使用当前硬件来调用右键单击用户必须单击并保持几秒钟,但这可能会干扰其他操作,例如在滚动查看器中按住重复按钮,因此我决定禁用右键单击.

理想情况下,我不想在应用程序级别禁用右键,但如果不可能,禁用右键单击Windows级别也适用于我.

Mik*_*chs 22

OnPreviewMouseRightButtonDown/Up方法对我不起作用.

  1. 但是在UIElement上有一个属性Stylus.IsPressAndHoldEnabled.将其设置为false以摆脱按下并按住右键单击行为.我在Windows 7上使用.NET 4.0进行了测试,但该属性可从.NET 3.0获得.

    <RepeatButton Stylus.IsPressAndHoldEnabled ="false"... />

  2. 还有一个博客帖子在这里它提供了在窗位按住了类似的禁用代码示例.但是有了这个,只要稍后手指触摸屏幕就会触发PreviewTouchDown和TouchDown事件(这对于我猜的RepeatButton是必要的).阅读此msdn页面上的"备注" .

  • 我知道这是较旧的,但我也确认Stylus.IsPressAndHoldEnabled解决方案适用于Windows 10. (2认同)

Ste*_*eri 8

您可以覆盖Window上的OnPreviewMouseRightButtonDown并将Handled设置为true.你还需要处理OnPreviewMouseRightButtonUp(感谢Vitalij指出这一点)

这应该够了吧.