当前位置: 首页 > article >正文

【Maui】注销用户,采用“手势”点击label弹窗选择

文章目录

  • 前言
  • 一、问题描述
  • 二、解决方案
  • 三、软件开发(源码)
    • 3.1 方法一:前端绑定
    • 3.2 方法二:后端绑定
    • 3.3 注销用户的方法
  • 四、项目展示


前言

.NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动和桌面应用。
使用 .NET MAUI,可从单个共享代码库开发可在 Android、iOS、macOS 和 Windows 上运行的应用。

.NET MAUI 是一款开放源代码应用,是 Xamarin.Forms 的进化版,从移动场景扩展到了桌面场景,并从头重新生成了 UI 控件,以提高性能和可扩展性。 如果以前使用过 Xamarin.Forms 来生成跨平台用户界面,那么你会注意到它与 .NET MAUI 有许多相似之处。 但也有一些差异。 通过使用 .NET MAUI,可使用单个项目创建多平台应用,但如果有必要,可以添加特定于平台的源代码和资源。 .NET MAUI 的主要目的之一是使你能够在单个代码库中实现尽可能多的应用逻辑和 UI 布局。

一、问题描述

移动端顶部标题栏,右侧显示用户账户,点击用户账户时,可以调出弹窗切换账号。

二、解决方案

采用手势实现,手势有两种绑定形势,一种在前端采用GestureRecognizers属性;二种在后端采用GestureRecognizers.Add()

三、软件开发(源码)

3.1 方法一:前端绑定

文件名:MainPage.xaml

            <Label Text="{Binding UserComb}"
                   TextColor="White"
                   HorizontalOptions="Center"
                   VerticalOptions="Center"
                   Grid.Column="2"
                   x:Name="UserNameLabel">
                <Label.GestureRecognizers>
                    <TapGestureRecognizer Tapped="OnUserCombClicked" />
                </Label.GestureRecognizers>
            </Label>

3.2 方法二:后端绑定

文件名:MainPage.xaml.cs

            // 添加点击事件
            var UserTapGestureRecognizer = new TapGestureRecognizer();
            UserTapGestureRecognizer.Tapped += OnUserCombClicked;
            UserNameLabel.GestureRecognizers.Add(UserTapGestureRecognizer);

3.3 注销用户的方法

逻辑层代码没有,全在ViewModel构造函数中,进行了数据初始化。
逻辑如果要使用可以使用如下方法

   private async void OnUserCombClicked(object sender, EventArgs e)
   {
       string[] userOptions = { "注销用户" };
       string selectedOption = await DisplayActionSheet("当前用户", "取消", null, userOptions);
       if (selectedOption == "注销用户")
       {
           Global.LogOut();
           await Navigation.PushAsync(new LoginPage());
       }
   }

四、项目展示

在这里插入图片描述


http://www.kler.cn/a/514487.html

相关文章:

  • NIO | 什么是Java中的NIO —— 结合业务场景理解 NIO (二)
  • MySQL主从配置
  • 【二叉树的深搜】计算布尔二叉树的值 求根节点到叶节点数字之和
  • 【三维分割】Gaga:通过3D感知的 Memory Bank 分组任意高斯
  • 【22】Word:小李-高新技术企业政策❗
  • C# 的 NLog 库高级进阶
  • 打造你的第一个AI Agent:从需求分析到架构设计
  • 【AI编辑器】字节跳动推出AI IDE——Trae,专为中文开发者深度定制
  • Powershell语言的云计算
  • (五)Mapbox GL 中图层`paint`的使用方法和使用场景初识
  • Llama 3:开源大模型的里程碑式突破
  • MDX语言的嵌入式系统
  • C++ initializer_list 列表初始化(八股总结)
  • 深度探索 Java 的字节码增强
  • 如何在Anaconda中顺利安装PyTorch:解决依赖问题的攻略
  • Day 15 卡玛笔记
  • 30天开发操作系统 第 17 天 -- 命令行窗口
  • Linux下 date时间应该与系统的 RTC(硬件时钟)同步
  • 什么是 Flask 的蓝图(Blueprint)
  • Windows远程连接Docker服务
  • openssl 生成证书 windows导入证书
  • 大数据Hadoop中MapReduce的介绍包括编程模型、工作原理(MapReduce、MapTask、ReduceTask、Shuffle工作原理)
  • RLHF技术应用探析:从安全任务到高阶能力提升
  • 摄影交流平台项目Uniapp+Springboot已完成
  • Spark SQL 中对 Map 类型的操作函数
  • spring cloud之gateway和JWT回顾