繁体   English   中英

如何在同一按钮中使用“鼠标”和“触摸”事件?

[英]How can I use Mouse and Touch events in the same button?

我有一个带有Click="Window_Click"TouchDown="Window_Touch"的按钮。 当我在非触摸设备上单击时,它可以正常工作,但是当我在触摸设备上单击时,有时我会聚焦另一个按钮,并且触摸会触发两个事件。 基本上,当我触摸按钮时,它们将同时执行两个事件,如何为两个行为都创建一个事件,或者在我触摸事物时如何“停止” /不执行点击事件?

private void Window_Click(object sender, RoutedEventArgs e)
{
    functionOne();
}
private void Window_Touch(object sender, TouchEventArgs e)
{
    functionOne();
}

您需要捕获并处理对该事件的重复调用。 您可以尝试设置一个已处理的布尔值,以便click事件知道touch事件是否处理了该事件(应首先触发touch事件)。 像这样

private bool handled = false;
private void Window_Click(object sender, RoutedEventArgs e)
{
    if(!handled)
    functionOne();
}
private void Window_Touch(object sender, TouchEventArgs e)
{
    handled = true;
    functionOne();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM