簡體   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