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

时间:2018-06-05 18:12:48

标签: c# wpf touch mouseevent

我有一个Click="Window_Click"TouchDown="Window_Touch"的按钮。当我点击非触摸设备时,它工作得很好,但是当我点击触摸设备时,有时我有另一个按钮处于焦点,触摸会触发两个事件。基本上,当我触摸按钮时,它们会执行这两个事件,如何为这两个行为创建一个事件,或者当我触摸事物时如何停止" /不执行点击事件?

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

1 个答案:

答案 0 :(得分:0)

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

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();
}
相关问题