文章目录
- 前言
- 一、问题描述
- 二、解决方案
- 三、软件开发(源码)
- 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("你已取消操作");
 }
四、项目展示






![[STM32 标准库]定时器输出PWM配置流程 PWM模式解析](https://i-blog.csdnimg.cn/direct/30a616a6baf84b978237a57b09ed22c5.png##pic_center)












