这需要是 Windows 窗体 (winforms) - 而不是 WPF。问题在于单个 MouseDown 事件在 Windows 8 的触摸屏上未正确触发。MouseDown 在触摸并移动手指或单击后触发 - 它会在您离开手指后触发。我想像普通的 MouseDown 一样触发它——在我触摸屏幕之后。解决方案是 TouchDown 事件。但是,我就是不能处理那个事件。我所做的是像这样创建类 Multitouch:
class Moultitouch : UIElement
{
public Moultitouch()
{
this.TouchDown += new EventHandler<System.Windows.Input.TouchEventArgs>(Moultitouch_TouchDown);
}
void Moultitouch_TouchDown(object sender, System.Windows.Input.TouchEventArgs e)
{
//it never goes in
}
protected override void OnTouchDown(System.Windows.Input.TouchEventArgs e)
{
base.OnTouchDown(e);
}
}
之后,我在我的组件中声明那个类,它应该在 Touch 上处理该事件。我对此进行了很多研究,并且一直在尝试这样做,但到目前为止还没有。我认为“在 Windows 窗体中托管 WPF 复合控件” http://msdn.microsoft.com/en-us/library/ms742215.aspx可以解决我的问题,但该解决方案可能非常漫长而艰难。非常感谢任何帮助或想法。