【MAUI】为 Label、Image 等控件添加点击事件

news2024/12/25 12:29:25

一、前言

已经习惯了 WPF、WinForm 中“万物皆可点击”的方式。
但是在 MAUI 中却不行了。
在 MAUI 中,点击、双击的效果,是需要通过“手势识别器”来实现。
本篇文章,我们就通过“手势识别器”来为 Label、Image等控件实现点击事件。

相信看完的你,一定会有所收获!

本文地址:https://www.cnblogs.com/lesliexin/p/16433623.html

二、手势识别器

本文实现点击所用到识别器是:TapGestureRecognizer
其介绍如下:

详见:https://docs.microsoft.com/en-us/dotnet/maui/fundamentals/gestures/tap
在这里插入图片描述

三、实现

1,创建 MAUI 项目
创建过程不再赘述,按照 VS 提示创建即可。
创建完成后,会默认附带一些代码,我们在其基础上进行改造,为其添加上点击事件。

在这里插入图片描述

2,为 Image 添加点击事件
在这里插入图片描述

后台 CS 代码如下:

在这里插入图片描述

3,为 Label 添加点击事件
在这里插入图片描述

后台 CS 代码如下:

在这里插入图片描述

2,为 Label 添加双击事件
双击效果的实现,主要是用到了属性“NumberOfTapsRequired”,其值默认是1,代表点击1次即可触发。
我们要实现双击效果,则将此属性设置为2。

在这里插入图片描述

后台 CS 代码如下:

在这里插入图片描述

四、演示

编译运行程序,我们点击图片、标签,可以看到触发了点击事件。
而标签“双击才显示”,在单次点击时并不触发事件,只有双击时才会触发事件。

在这里插入图片描述

五、总结

接触 MAUI 以来,发现为了兼容跨平台,特别是兼容移动端,所有的功能都以功能特点最小的移动端为主,这就导致了其桌面端功能特点的缺失,虽然合情合理,但是桌面端效果确实不咋地。
当然,也和我目前对 MAUI 研究不深有关。
仅就目前而言,如果我用 MAUI 开发的话,只会去开发移动端软件,而不会开发桌面端软件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/75913.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

若依微服务版登录流程源码分析1

若依微服务版登录流程涉及到很多模块,本章先从网关讲起 验证码 验证码配置 先来看配置中心的网关配置文件ruoyi-gateway-dev.yml,其中有这么一段 # 安全配置 security:# 验证码captcha:enabled: truetype: math这段配置什么作用呢,就是将…

牛客网刷题【BC7、BC8、BC9、 BC10、 BC11、 BC12】

目录 一 、BC12 字符圣诞树 二、BC7 缩短二进制 三、BC8 十六进制转十进制 四、BC9 printf的返回值 五、BC10 成绩输入输出 六、BC11 学生基本信息输入输出 一 、BC12 字符圣诞树 #include <stdio.h>int main() {char val0;//读入字符scanf("%c",&…

Git入门与进阶 - 总览

Git入门与进阶教程 欢迎加好友一起讨论问题 知识地图&#xff1a;入门Git简介https://blog.csdn.net/lili40342/article/details/128241047Git安装与配置https://blog.csdn.net/lili40342/article/details/128241144Git工作流程https://blog.csdn.net/lili40342/article/detail…

[附源码]计算机毕业设计的个人理财系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

成功解决TypeError: cli.init is not a function for react native

用苹果电脑&#xff08;MacBook air 或者 M1&#xff09;运行 npx react-native init appName时候报错&#xff0c;如下图所示&#xff1a; TypeError: cli.init is not a function at run (/opt/homebrew/lib/node_modules/react-native-cli/index.js:302:7) at createProjec…

有了这款工具,自动化识别验证码再也不是问题

01 环境准备 1、windows 环境下载 exe http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-4.00.00dev.exe 双击 exe&#xff0c;一路 next 完成 Tesseract-OCR 安装 2、配置环境变量 PATH 增加 D:\ProgramFiles\Tesseract-OCR 新建环境变量 TESSDATA_PREFIX…

[GO] GORM入门使用

1. GORM 1.1 什么是ORM ORM是object relational mapping就是对象映射关系程序简单的说类似python这种面向对象的程序来说,一切都是对象.为了保证一致性的使用习惯,通过orm将编程语言的对象模型和数据库的关系型模型建立映射关系这样我们直接使用编程语言的对象模型进行数据库…

【cer转jks】

需要两个文件.key,和.cer https://www.myssl.cn/tools/merge-jks-cert.html 选择JKS在线生成 请参照示例&#xff0c;将密钥文件(KEY文件)复制到输入框 请参照示例&#xff0c;将证书文件(CRT/CER文件)复制到输入框 输入别名和密码即可生成 JAVA的application.properties中填写…

主流编程语言的底层实现是什么以及gcc,clang,llvm等编译器的区别

文章目录一、前言二、c和c和c#的区别1、高级语言和低级语言2、c 和 c 和 c#的区别&#xff08;1&#xff09;C语言&#xff08;2&#xff09;C三、各主流语言的底层实现1、python的底层实现2、 java的底层实现3、php的底层实现4、js的底层实现5、node是用什么语言写的6、golang…

[激光原理与应用-45]:《焊接质量检测》-2- 常见焊接缺陷与检验方法

目录 一、概述 二、焊接缺陷的分类 2.1 按产生原因 2.2 按性质分有&#xff1a; 2.3 按在焊缝中的位置分有&#xff1a; 三、焊接缺陷检验的常用方法 一、概述 对于一个金属结构来说&#xff0c;焊接检验就是对所有焊缝或焊接接头而言的&#xff0c;也就是对焊接缺陷的检…

2022年高压快充行业研究报告

第一章 行业概况 高压快充即为快速充电&#xff0c;衡量单位可用充电倍率&#xff08;C&#xff09;表示。充电倍率越大&#xff0c;充电时间越短。依据公式&#xff0c;电池充电的倍率&#xff08;C&#xff09;充电电流&#xff08;mA&#xff09;/电池额定容量&#xff08;…

Python爬虫——Scrapy框架

Scrapy是用python实现的一个为了爬取网站数据&#xff0c;提取结构性数据而编写的应用框架。使用Twisted高效异步网络框架来处理网络通信。 Scrapy架构&#xff1a; ScrapyEngine&#xff1a;引擎。负责控制数据流在系统中所有组件中流动&#xff0c;并在相应动作发生时触发事…

西部广播电视杂志《西部广播电视》杂志社《西部广播电视》编辑部2022年第21期目录

特稿&#xff1a;乡村振兴战略下的媒体实践《西部广播电视》投稿&#xff1a;cnqikantg126.com 乡村振兴中广播电视角色定位研究 王菾; 1-4 对农宣传中广播电视传播功能研究 周艺培; 5-711 广播电视助力涉农产业发展 胡朗铭; 8-11 省级乡村频道发展的典型个案研…

答疑1209

1、在fmu v2中回传电压值 在comm task 里面有电压读取的任务&#xff0c;pool 电池的电压状态 这是上层会调用hal层&#xff0c;也就是adc.c里面的read函数 主要是fmu v2 里面没有写adc的驱动函数&#xff0c;也就是driver层&#xff0c;这里需要模仿v5上面的驱动来补充一下&a…

[附源码]计算机毕业设计交通事故档案管理系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Pytest框架批量安装插件解析

1、新建一个工程 使用新的环境变量 1.1.插件文件 新建一个txt的文件&#xff0c;将常用插件放在该文件中&#xff0c;如下图 文件名&#xff1a;requirements.txt 常用插件&#xff1a; pytest pytest-html pytest-xdist pytest-ordering pytest-rerunfailures allure-pyt…

探究菊花文的“密码”(文中转换器源码仅一行代码哦)

菊花文、方框文&#xff0c;看起来很神奇的样子。其实&#xff0c;也就是在字符串中插入了特殊字符&#xff0c;利用特殊字符的显示特性获得的混合显示效果而已。(文中转换器源码仅一行代码哦&#x1f917;) (本文获得CSDN质量评分【90】)【学习的细节是欢悦的历程】Python 官网…

Alpine安装Oracle JDK存在的问题

简介 前面我们提到了Alpine使用的不是正统的glibc&#xff0c;对于一些强依赖glibc的系统建议不要使用Alpine&#xff0c;比如使用了Oracle JDK的系统&#xff0c;建议在Alpine换成OpenJDK。 Alpine官方给出了Alpine的三大特征 Small、Simple、Secure&#xff0c;但其实我们知…

【论文阅读】 AdaptivePose: Human Parts as Adaptive Points

DOI&#xff1a;https://doi.org/10.1609/aaai.v36i3.20185 AAAI 2022 Published&#xff1a;2022-06-28 Others阅读/整理&#xff1a;翻译1、翻译2 Intro&Background 多人姿态估计方法 two-stage methods【图a】 这些方法使用绝对关键点位置&#xff0c;定位的…

顺时针打印矩阵

大概题意为&#xff1a; 第一步&#xff1a; 第二步&#xff1a; 第三步&#xff1a; 第四步 &#xff1a; 这样核心就设计好了&#xff0c;接下来设计剩余的东西 设计题目程序 1.题目要求我们返回一个地址&#xff0c;所以我们创造一个一维数组&#xff0c;它的元素个数为行…