Button Click事件被调用以保持事件
本文关键字:事件 Click Button 调用 | 更新日期: 2023-09-27 18:04:51
我对按钮的单击事件使用了命令绑定。现在我也有一个按钮上的持有事件。所以每当我按住按钮时,click也会被调用,同时调用事件处理程序。我试过设置
e.handled = true;
但这不起作用。有什么建议吗,为什么这两个事件都被检测到了。如果我使用tap事件而不是命令绑定,一切工作正常。但我的要求是使用命令绑定点击事件。
编辑:下面是
背后的一些代码代码:xaml:
Button Command={Binding ButtonClicked} Holding="Button_Holding"
xaml.cs
private void Button_Holding(object sender, HoldingRoutedEventArgs e)
{
}
ViewModel有ButtonClicked命令
我不是这方面的专家,但我猜Holding是一个冒泡事件,ButtonClick是一个直接事件(如果有人知道这一点,我很乐意阅读评论)
所以你的e.handled = true;
不适用于ButtonClicked事件。我想说的是你必须让你的按钮点击命令知道hold事件被触发了然后通过CanExecute方法忽略这个事件,或者不管你叫它什么,或者至少做一些类似
public void YourButtonClickedMethod()
{
if(SomeObject.IsHoldAllreadyExecuted)
{
SomeObject.IsHoldAllreadyExecuted = false; //set it to false for the next run
}
else
{
//DO the stuff you want to
}
}