正在调用按钮点击事件来举行活动

时间:2015-07-27 17:34:07

标签: c# wpf windows xaml windows-phone-8

我使用了命令绑定来完成按钮的click事件。现在我也在按钮上举行了举办活动。因此,每当我按住按钮时,单击也会随着持有事件处理程序一起被调用。我试过设置

 e.handled = true;

但这不起作用。关于为什么两个事件都被检测到的任何建议。如果我使用Tapped事件而不是命令绑定,一切正常。但我的要求是对点击事件使用命令绑定。

编辑:下面是一些代码

代码: xaml:

 Button Command={Binding ButtonClicked} Holding="Button_Holding"

xaml.cs

private void Button_Holding(object sender, HoldingRoutedEventArgs e)
    {
    }

ViewModel具有ButtonClicked命令

1 个答案:

答案 0 :(得分:0)

我不是这方面的专家,但我猜控股是一个冒泡的事件,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
         }

    }