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

【Maui】提示消息的扩展

文章目录

  • 前言
  • 一、问题描述
  • 二、解决方案
  • 三、软件开发(源码)
    • 3.1 消息扩展库
    • 3.2 消息提示框使用
    • 3.3 错误消息提示使用
    • 3.4 问题选择框使用
  • 四、项目展示


前言

.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 布局。

一、问题描述

二、解决方案

三、软件开发(源码)

3.1 消息扩展库

文件名:MessageExtension.cs

using CommunityToolkit.Maui.Alerts;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using App.Mes.Core.Operation.Entities.Tissue;
using App.Mes.Core.Operation.Services.Mobile;

namespace GlueNet.Mobile.Utils
{
    /// <summary>
    /// 消息提示扩展
    /// 创建人:gyc
    /// 创建时间:2025/01/20
    /// </summary>
    public static class MessageExtension
    {
        public static async Task DisplayAlert(string title, string message, string cancel)
        {
            if (Application.Current?.MainPage != null)
            {
                await Application.Current.MainPage.DisplayAlert(title, message, cancel);
            }
        }

        public static async Task<bool> DisplayAlert(string title, string message, string accept, string cancel)
        {
            if (Application.Current?.MainPage != null)
            {
                return await Application.Current.MainPage.DisplayAlert(title, message, accept, cancel);
            }
            return false;
        }


        /// <summary>
        /// 信息提示
        /// </summary>
        /// <param name="message"></param>
        /// <returns></returns>
        public static async Task Info(string message)
        {
            await DisplayAlert("提示", message, "确定");
        }


        /// <summary>
        /// 错误提示
        /// </summary>
        /// <param name="message"></param>
        /// <returns></returns>
        public static async Task Error(string message)
        {
            await DisplayAlert("错误提示", message, "确定");
        }

        /// <summary>
        /// 询问提示
        /// </summary>
        /// <param name="message"></param>
        /// <returns></returns>
        public static async Task<bool> Question(string message)
        {
            return await DisplayAlert("提示", message, "确定", "取消");
        }
    }
}

3.2 消息提示框使用

await MessageExtension.Info("更新成功记录" + sb_success.Length + "条");

3.3 错误消息提示使用

await MessageExtension.Error("服务器数据处理失败,请联系IT");

3.4 问题选择框使用

 bool result = await MessageExtension.Question($"你确定删除单号:{MO1002EditAllVM.SelectedDetail.CReservedSeqNo}吗?");

 if (result)
 {
     Tax2011 tax2011_del = new Tax2011()
     {
         CReservedNo = MO1002EditAllVM.SelectedDetail.CReservedNo,
         CReservedSeqNo = MO1002EditAllVM.SelectedDetail.CReservedSeqNo,
         CMtrlType = MO1002EditAllVM.Master.CMtrlType, //物料类型
         CMtrlNo = MO1002EditAllVM.SelectedDetail.CMtrlNo, //物料编号
         CPieceNo = MO1002EditAllVM.SelectedDetail.CPieceNo, //条码号
     };

     string str_Result = GycMobileService.Proxy.DeleteDetailTAX_2011(tax2011_del);
     var var_MobileResult = JsonConvert.DeserializeObject<MobileResult>(str_Result);

     if (var_MobileResult.IsSuccess)
     {
         await MessageExtension.Info(var_MobileResult.Remark);
         FetchDataTAX2011();
     }
     else
     {
         await MessageExtension.Error(var_MobileResult.Remark);
     }
 }
 else
 {
     Toaster.Show("你已取消操作");
 }

四、项目展示

在这里插入图片描述


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

相关文章:

  • HTB:Heist[WriteUP]
  • HTML5 History API
  • 校园网上店铺的设计与实现(代码+数据库+LW)
  • enum EPOLL_EVENTS详解
  • 本地仓库管理之分支间的操作
  • MongoDB 创建集合
  • AIGC视频生成模型:慕尼黑大学、NVIDIA等的Video LDMs模型
  • 大语言模型之prompt工程
  • pytest执行报错:found no collectors
  • 单片机基础模块学习——定时器
  • Java菜鸟养成计划(java基础)--java运算符
  • import.meta.globEager详解
  • k8s基础(7)—Kubernetes-Secret
  • YOLOv10改进 | YOLOv10引入AKConv(轻量)
  • YOLO 安装 并且命令行指定配置文件
  • 文件快递柜:匿名口令分享工具,轻松安全地存取文本与文件
  • Centos 修改历史读录( HISTSIZE)
  • 力扣-数组-414 第三大的数
  • 蓝桥杯备考:红黑树与map和set
  • 【Block总结】PConv风车卷积,更大的感受野,提高特征提取能力|即插即用