【MAUI】為 Label、Image 等控制元件新增點選事件

leslie_xin發表於2022-07-01

一、前言

已經習慣了 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

image


三、實現

1,建立 MAUI 專案

建立過程不再贅述,按照 VS 提示建立即可。
建立完成後,會預設附帶一些程式碼,我們在其基礎上進行改造,為其新增上點選事件。

image

2,為 Image 新增點選事件

image

後臺 CS 程式碼如下:

image

3,為 Label 新增點選事件

image

後臺 CS 程式碼如下:

image

2,為 Label 新增雙擊事件

雙擊效果的實現,主要是用到了屬性“NumberOfTapsRequired”,其值預設是1,代表點選1次即可觸發。
我們要實現雙擊效果,則將此屬性設定為2。

image

後臺 CS 程式碼如下:

image


四、演示

編譯執行程式,我們點選圖片、標籤,可以看到觸發了點選事件。
而標籤“雙擊才顯示”,在單次點選時並不觸發事件,只有雙擊時才會觸發事件。

image


五、總結

接觸 MAUI 以來,發現為了相容跨平臺,特別是相容移動端,所有的功能都以功能特點最小的移動端為主,這就導致了其桌面端功能特點的缺失,雖然合情合理,但是桌面端效果確實不咋地。
當然,也和我目前對 MAUI 研究不深有關。
僅就目前而言,如果我用 MAUI 開發的話,只會去開發移動端軟體,而不會開發桌面端軟體。

本人水平有限,難免有所疏漏,歡迎各位讀者評論指正。


-【END】-

相關文章