当我具有触摸事件处理程序时,为什么我的鼠标事件处理程序不起作用?

哈利勒·哈拉夫(Khalil Khalaf)

我的某些最终用户使用触摸屏,而其他用户则使用PC。在触摸屏上,PreviewMouseUp/Down与触摸事件处理程序一起触发,从而导致重复的行为(两次执行在PreviewMousUp / Down中编写的功能)。

因此,我的示例Button XAML:

<Button x:Name="Whatever" Background="Transparent"  MouseUp="Whatever_MouseUp" MouseDown="Whatever_MouseDown" TouchUp="Whatever_TouchUp" TouchDown="Whatever_TouchDown">
    <StackPanel>
        <TextBlock x:Name="WhateverText" Text="Soemthing" FontSize="13"/>
        <Image x:Name="WhateverImage" Source="bla/bla/bla"/>
    </StackPanel>
</Button>

为什么MouseDownMouseUp事件处理程序没有得到在电脑上被炒鱿鱼吗?

如果我在触摸屏上执行,它的工作原理就像一个超级按钮(Touch事件处理程序)。但是,在我的PC(VS-2015)上根本无法正常工作。拜托了,谢谢

艾哈迈德·阿卜杜勒卡里姆(Ahmed Abdelkarim)

似乎Click事件处理程序可防止触发MouseDown和MouseUp事件。我希望这是因为,当我从头开始构建自定义控件(如按钮)时,会使用这些事件触发Click事件。这只是我的期望。

无论如何,我尝试了一下,如果您未实现TouchDown / Up,则在触摸和非触摸上均会触发PreviewMouseDown / Up。但是,如果您使用它们实现了TouchDown / Up,则在TOUCH上的执行将如下所示:> TouchDown> PreviewMouseDown> TouchUp> PreviewMouseUp。在NON-TOUCH上的执行将是这样的:> PreviewMouseDown> PreviewMouseUp。因此,我建议您使用PreviewMouseDown / Up,因为它适用于触摸和非触摸。

您也可以使用MouseRightButtonDown / Up与您一起使用。但是您会注意到,它之后会触发MouseDown / Up。您可以通过添加e.Handled = true来简单地防止这种情况。在MouseRightButtonDown / Up处理程序中。

尝试利用这些提示,如果您不能解决,请告诉我,我会与您一起考虑的。祝你好运。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我的信号处理程序不起作用?

来自分类Dev

为什么我的信号处理程序不起作用?

来自分类Dev

OnChange事件处理程序不起作用

来自分类Dev

Opencart事件处理程序不起作用

来自分类Dev

Javascript事件处理程序不起作用

来自分类Dev

JavaScript事件处理程序不起作用

来自分类Dev

Opencart事件处理程序不起作用

来自分类Dev

onclick事件处理程序不起作用

来自分类Dev

Javascript事件处理程序-为什么起作用?

来自分类Dev

为什么悬停在委托事件处理程序中不起作用?

来自分类Dev

Javascript遍历<li>列表并分配事件(onitemclick)处理程序不起作用-为什么?

来自分类Dev

为什么Meteor具有奇怪的事件处理程序语法?

来自分类Dev

为什么Meteor具有奇怪的事件处理程序语法?

来自分类Dev

为什么我的委派事件处理程序不触发?

来自分类Dev

当我们为DOM Ready添加事件处理程序时,是否为时已晚?

来自分类Dev

为什么触摸事件不起作用?

来自分类Dev

为什么我的测试在我的(酶模拟事件)同步事件处理程序之前完成?

来自分类Dev

为什么我动态添加的事件处理程序没有持续触发

来自分类Dev

类更改后,单击事件处理程序不起作用

来自分类Dev

Webgrid中的单击事件处理程序不起作用

来自分类Dev

声明多个事件处理程序不起作用

来自分类Dev

Bootstrap Switch事件处理程序不起作用

来自分类Dev

C#关闭事件处理程序不起作用

来自分类Dev

Firebase $ save在事件处理程序函数中不起作用

来自分类Dev

JavaScript按钮事件处理程序不起作用

来自分类Dev

“ this”在点击事件处理程序中不起作用

来自分类Dev

C#关闭事件处理程序不起作用

来自分类Dev

使用jQuery添加事件处理程序不起作用

来自分类Dev

Up函数在元素的事件处理程序中不起作用

Related 相关文章

  1. 1

    为什么我的信号处理程序不起作用?

  2. 2

    为什么我的信号处理程序不起作用?

  3. 3

    OnChange事件处理程序不起作用

  4. 4

    Opencart事件处理程序不起作用

  5. 5

    Javascript事件处理程序不起作用

  6. 6

    JavaScript事件处理程序不起作用

  7. 7

    Opencart事件处理程序不起作用

  8. 8

    onclick事件处理程序不起作用

  9. 9

    Javascript事件处理程序-为什么起作用?

  10. 10

    为什么悬停在委托事件处理程序中不起作用?

  11. 11

    Javascript遍历<li>列表并分配事件(onitemclick)处理程序不起作用-为什么?

  12. 12

    为什么Meteor具有奇怪的事件处理程序语法?

  13. 13

    为什么Meteor具有奇怪的事件处理程序语法?

  14. 14

    为什么我的委派事件处理程序不触发?

  15. 15

    当我们为DOM Ready添加事件处理程序时,是否为时已晚?

  16. 16

    为什么触摸事件不起作用?

  17. 17

    为什么我的测试在我的(酶模拟事件)同步事件处理程序之前完成?

  18. 18

    为什么我动态添加的事件处理程序没有持续触发

  19. 19

    类更改后,单击事件处理程序不起作用

  20. 20

    Webgrid中的单击事件处理程序不起作用

  21. 21

    声明多个事件处理程序不起作用

  22. 22

    Bootstrap Switch事件处理程序不起作用

  23. 23

    C#关闭事件处理程序不起作用

  24. 24

    Firebase $ save在事件处理程序函数中不起作用

  25. 25

    JavaScript按钮事件处理程序不起作用

  26. 26

    “ this”在点击事件处理程序中不起作用

  27. 27

    C#关闭事件处理程序不起作用

  28. 28

    使用jQuery添加事件处理程序不起作用

  29. 29

    Up函数在元素的事件处理程序中不起作用

热门标签

归档