【发布时间】:2013-08-10 01:15:59
【问题描述】:
这需要是 Windows 窗体 (winforms) - 而不是 WPF。问题在于在 Windows 8 的触摸屏上未正确触发的单个 MouseDown 事件。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 可以解决我的问题,但该解决方案可能非常漫长而艰难。非常感谢任何帮助或想法。
【问题讨论】:
-
我不知道你在说什么。你有什么问题?
-
对,用更简单的方式。我认为我们可以将这个问题简化为一个简单的带有一个按钮的 winform。我想通过在触摸屏上触摸 UIElement.TouchDown 来处理它。我怎样才能做到这一点?也许现在你会更多地了解我之前所说的。
-
winforms 中没有
UIElement这样的东西。我不知道你在说什么。