【MAUI】为 Label、Image 等控件添加点击事件
一、前言
已经习惯了 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 开发的话,只会去开发移动端软件,而不会开发桌面端软件。
本人水平有限,难免有所疏漏,欢迎各位读者评论指正。
-【END】-
【MAUI】为 Label、Image 等控件添加点击事件的更多相关文章
- 继承UIView的子控件添加点击事件
UITapGestureRecognizer*tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:selfaction:@select ...
- ios 给移动的控件添加点击事件
前言: 给一个UIView做移动动画,虽然看起来frame在持续改变,但是它的frame已经是最终值了. 也就是说表面看到的动画都是假象,它的真实位置已经是固定的了.所以只有点击在他的真实frame范 ...
- android中RecyclerView控件实现点击事件
RecyclerView控件实现点击事件跟ListView控件不同,并没有提供类似setOnItemClickListener()这样的注册监听器方法,而是需要自己给子项具体的注册点击事件. 本文的例 ...
- Android 使用代码主动去调用控件的点击事件(模拟人手去触摸控件)
使用代码主动去调用控件的点击事件(模拟人手去触摸控件) //View 可以是LinearLayout,Button,TextView View.performClick();
- Android监听Button和ImageButton控件的点击事件
一.onClick事件 Button和ImageButton都有一个onClick事件,通过自身的.setOnClickListener(OnClickListener)方法添加点击事件 所有的控件都 ...
- Android 为控件添加点击涟漪效果
Android在5.0版为Button默认添加了点击时的涟漪效果,而且在其他的控件上也可以轻松的实现这种炫酷的效果.涟漪效果可以分为两种,一种时有边界的涟漪,另一种时无边界的涟漪.所谓的有边界,即涟漪 ...
- Android简单的ListViewDemo及每个控件的点击事件
ListView是什么? ListView是一个 数据控件,可以展示从数据库中读取的数据.是.net3.5的新控件. 它比gridview更灵活,而且支持多种模板,支持分页. 文章地址 http:// ...
- Android技能杂谈——如何优雅的处理控件的点击事件
首先分享一个最佳实践: 大家开发复杂一些的Android应用的时候常常会写一个BaseActivity或者BaseFragment,里面写上一些基本而公用的方法,比如监听网络状况.弹出对话框.设置ac ...
- Button控件的点击事件
Java的代码 主要重点: findViewById(); OnClickListener() package com.example.admin.myapplication; import andr ...
随机推荐
- contact 和 footer 的页面制作
1. html 结构 <section id="contact"> <div class="contact-form bg-primary p-2&qu ...
- Spring 源码(5)BeanFactory使用的准备及自定义属性值解析器
BeanFactory 使用前的准备 上一篇文章 https://www.cnblogs.com/redwinter/p/16165878.html 介绍了自定义标签的使用,完成了AbstractAp ...
- lab_1 清华大学ucore bootload启动ucore os(预备基础知识+实验过程)
实验1 :bootload启动ucore os 1.0实验内容: lab1中包含一个bootloader和一个OS.这个bootloader可以切换到X86保护模式,能够读磁盘并加载ELF执行文件格式 ...
- VUE3 之 自定义指令的实现 - 这个系列的教程通俗易懂,适合新手
1. 概述 老话说的好:能屈能伸的人生,才是完满而丰富的人生. 言归正传,今天我们来聊聊 VUE 中自定义指令的实现. 2. 自定义指令 2.1 文本框聚焦的实现 <body> < ...
- 基于Docker&Kubernetes构建PaaS平台基础知识梳理
点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 基于Docker&Kubernetes构建Paa ...
- HMS Core分析服务助您掌握用户分层密码,实现整体收益提升
随着市场愈发成熟,开发者从平衡收益和风险的角度开始逐步探索混合变现的优势,内购+广告就是目前市场上混合变现的主要方式之一. 对于混合变现模式,您是否有这样的困惑: 如何判断哪些用户更愿意看广告.哪些用 ...
- idea的快捷键(复制) IntelliJ Idea 常用快捷键列表
Ctrl+Shift + Enter,语句完成'!',否定完成,输入表达式时按 "!"键 Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可 ...
- sklearn机器学习-特征提取1
scikit-learn机器学习的特征提取部分较多nlp内容,故学到一半学不下去,看完nltk再来补上 scikit-learn机器学习的特征提取这一章感觉讲的不是特别好,所以会结合着来看 首先是Di ...
- drools session理解
一.理解 在drools中存在2种session,一种是有状态的Session (Stateful Session),另外一种一种是无状态的Session (Stateless Session). 1 ...
- centos7安装zabbix5.0
一.安装zabbix-server 操作系统:CentOS 7.5 1.首先关闭防火墙与SElinux 关闭防火墙 systemctl stop firewalld&&systemct ...