WPF程序在电阻触摸屏无法接受到touch事件,求高手指教

jiuzaizuotian2014 2017-11-08 08:48:39
本人在写WPF程序时遇到一个问题:程序需要利用WPF程序的Canvas元素来画图,利用手指触摸画图。原先,用了红外触摸屏,Canvas接受触摸事件进行画图没有问题。但是把程序放到另一台电阻触摸屏的电脑上,Canvas接受不到TouchDown/TouchUp/TouchMove等各种Touch事件,没办法画图。不过电阻屏对于Button的Click事件是工作正常的。请问电阻屏和其它触摸屏不一样吗,为什么程序不能收到这些Touch事件?还是怎么回事。
简化的代码如下:

XAML代码:
<Window x:Class="WpfApp14.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="100"></RowDefinition>
<RowDefinition Height="1*"></RowDefinition>
</Grid.RowDefinitions>
<Button Margin="20" Grid.Row="0" Click="Button_Click">我是按钮</Button>
<Canvas Margin="20" Grid.Row="1" Background="Yellow" TouchDown="Canvas_TouchDown"></Canvas>
</Grid>
</Window>

c#代码:
namespace WpfApp14
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Canvas_TouchDown(object sender, TouchEventArgs e)
{
MessageBox.Show("Canvas_TouchDown");
}
private void Button_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("Button Pressed");
}
}
}

以上代码中,在窗口中布置一个按钮,一个Canvas。按理说,按下按钮,会弹出对话框显示Button Pressed;在Canvas中按下,会弹出对话框显示Canvas_TouchDown。这个程序在我的红外触摸屏电脑上工作完全正常;但是把程序放在电阻触摸屏上的时候,手指按下按钮,会正常的弹出对话框显示Button Pressed,但按Canvas 区域,则没有任何反应。









请高手指点如何解决这样的问题,谢谢。

...全文
618 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
电阻屏没有这个事件,你可以试着监听mouse_move事件,但是支持的也不是很好。
qq_40981663 2017-11-09
  • 打赏
  • 举报
回复
通常电阻屏模拟的是鼠标功能,触发的是鼠标事件,你只能监听到对应的鼠标路由事件

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧