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

2024-01-03

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

所以我的示例按钮 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>

Why MouseDown and MouseUp事件处理程序不会在 PC 上被触发?

如果我在触摸屏上执行,它就像一个魅力(触摸事件处理程序)。然而,在我的电脑(VS-2015)上它根本不起作用。请并谢谢


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

不管怎样,我尝试了一下,如果您没有实现 TouchDown/Up,PreviewMouseDown/Up 会在触摸和非触摸上触发。但如果你用它们实现 TouchDown/Up,TOUCH 上的执行将如下所示: > TouchDown > PreviewMouseDown > TouchUp > PreviewMouseUp。在非触摸上的执行将如下所示:> PreviewMouseDown > PreviewMouseUp。因此,我建议您使用 PreviewMouseDown/Up,因为它适用于触摸和非触摸。

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

尝试利用这些提示,如果您无法解决问题,请告诉我,我会与您一起思考。祝你好运。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当我有触摸事件处理程序时,为什么我的鼠标事件处理程序不工作? 的相关文章

随机推荐

  • 如何为 VR 准备我的游戏? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 假设我们有一些 C OpenGL 游戏 它使用我们自己的渲染引擎 也不是 Unity UE 等 让我们简化我们的问题 例如 我们需要在
  • ASP.NET 页面上的倒计时器

    您能给我推荐一种在 ASP NET 页面上放置倒计时器的方法吗 现在我使用这段代码 默认 aspx
  • URL转义MFC字符串

    如何对 MFC CString 进行 URL 转义 InternetCanonicalizeUrl http msdn microsoft com en us library aa384342 28VS 85 29 aspx
  • 即时 (JIT) 编译器有什么作用?

    与非 JIT 编译器相比 JIT 编译器具体做了什么 有人可以给出一个简洁易懂的描述吗 JIT 编译器运行after程序已启动 并将代码 通常是字节码或某种 VM 指令 即时 或称为即时 编译为通常更快的形式 通常是主机 CPU 的本机指令
  • 从 Cocoa 中的文件中仅读取“N”个字节

    如何从指定文件中只读取 N 个字节 如果您希望以类似于通过 NSData 加载文件的方式随机访问文件内容 但不实际将所有内容读取到内存中 则可以使用内存映射 这样做意味着磁盘上的文件被视为虚拟内存的一部分 并且将像常规虚拟内存一样进行页面调
  • C# 获取嵌入资源的完整路径? [复制]

    这个问题在这里已经有答案了 我正在使用一个 NET 组件 该组件使用一种需要具有完整路径名的字符串的方法来读取特定的二进制文件 如下所示 Read c somefile ext 我已将 somefile ext 作为嵌入式资源放入我的项目中
  • 动态应用内设置

    我有一个应用程序 位置很重要 目前 我在设置包中有一个多值设置 其中定义了 5 个位置 这种方法的问题在于设置包是静态的 也就是说 据我所知 我无法从服务器上的 JSON 列表更新它 我想从服务器上的动态列表更新位置列表 我看过 InApp
  • 共享 SwiftUI 视图的屏幕截图导致崩溃

    我正在抓取 SwiftUI 视图中子视图的屏幕截图 立即传递到共享表以共享图像 该视图是来自呈现为一堆卡片的文本数组的一组问题 我正在尝试获取问题的屏幕截图 并将其与应用程序的链接一起共享 使用愤怒的小鸟的链接进行测试 我基本上可以使用 A
  • 读取实例导致解析错误

    我想实现一个 read 实例 使我能够读取字符串 例如 8 3 并构造一个包含这些值的列表 data Value a Nul Val a showsValue Show a gt Value a gt ShowS showsValue Va
  • 在 Azure 数据工厂中引用 JSON 有效负载值作为 If 条件

    我有一个像这样的 Json 文件作为从 API 调用返回的有效负载 这是数据工厂中的 http 数据集类型 count 2 name DatasetABC columnNames Column 1 Column 2 rows 1234 56
  • AWS CLI 上传失败:未知编码:idna

    我尝试使用 AWS CLI 将一些文件推送到 s3 但遇到错误 upload failed An HTTP Client raised and unhandled exception unknown encoding idna 我相信这是一
  • Python 包及其对应的 PyPi 项目可以有不同的名称吗?

    例如 我想知道怎么可能scikit learn是 PyPi 包的名称 而实际的 Python 模块的名称是sklearn 我问的原因是我有一个本地Python包packageA我无法上传到 PyPi 因为该名称恰好已被占用 因此我想知道我是
  • 如何在Delphi中实现一套标准的超链接检测规则

    我目前在程序中自动检测文本内的超链接 我把它做得非常简单 只需要寻找http or www 然而 一位用户建议我将其扩展到其他形式 例如 https or com 然后我意识到它可能不止于此 因为还有 ftp mailto 和 file 所
  • 每个应用程序的长路径行为是否可以通过清单启用?

    尽管 MSDN 文档是什么say https msdn microsoft com en us library windows desktop aa365247 aspx maxpath 您还可以通过以下方式启用每个应用程序的新长路径行为
  • R:如何检查可用的核心数/CPU 使用率

    R 是单线程的 使用 R 如何检查 Windows 和 Linux 中运行 R 的核心 线程数 或者正在运行多少卢比 使用R 如何检查Windows和Linux中运行R的每个核心的使用情况 或者每个 R 使用的 CPU 百分比 例如 如果我
  • IIS 7.5 在哪里记录错误?

    IIS 7 5 在哪里记录错误 事件查看器 日志档案 我收到一个非常不具体的内部 500 错误 我想了解更多 我正在运行 PHP 我做了什么最后一条评论 http forums iis net t 1169733 aspx在这个帖子上说 但
  • 检测直角三角形的C程序

    如果给我坐标系中的 100 个点 我必须找出这些顶点中是否存在直角三角形 有没有一种方法可以检测这些顶点中的直角三角形 而不必选择所有 3 个顶点对 然后对它们应用毕达哥拉斯定理 有更好的算法吗 谢谢你的帮助 这是一个O n 2 log n
  • 对绑定到 DataTable 的 GridView 进行排序

    我有一个存储库 其中包含我正在处理的这个项目的所有 LINQ 查询 我能够将 LINQ 结果获取到 DataTable 并将其绑定到 gridview 以显示数据 现在我需要使 gridview 可排序 我已经设定AllowSorting
  • 如何确定 Git 中合并提交的第一个父级

    我正在阅读有关使用的差异 vs git 中的运算符 我遇到了这个问题Git 中的 HEAD 和 HEAD 有什么区别 https stackoverflow com q 2221658 2498327 在谷歌搜索后 我在网上找不到一个很好的
  • 当我有触摸事件处理程序时,为什么我的鼠标事件处理程序不工作?

    我的一些最终用户拥有触摸屏 其他用户则拥有 PC 在触摸屏上 PreviewMouseUp Down与触摸事件处理程序一起触发 导致重复行为 在 PreviewMousUp Down 中编写的函数被执行两次 所以我的示例按钮 XAML