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

.NET MAUI教程2-利用.NET CommunityToolkit.Maui框架弹Toast

在上一篇博文的基础上继续操作:

.NET MAUI教程1-入门并发布apk包安装到真机-CSDN博客

本文内容参考:

Toast - .NET MAUI Community Toolkit - Community Toolkits for .NET | Microsoft Learn

1  在NuGet包管理器中安装

MAUI Community Toolkit,版本选择9.1.1,如下图:

2  在MauiProgram.cs中新增builder.UseMauiCommunityToolkit();

完整代码如下:

using CommunityToolkit.Maui;
using Microsoft.Extensions.Logging;

namespace MauiDemo2
{
    public static class MauiProgram
    {
        public static MauiApp CreateMauiApp()
        {
            var builder = MauiApp.CreateBuilder();
            builder
                .UseMauiApp<App>()
                .ConfigureFonts(fonts =>
                {
                    fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
                    fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
                });

#if DEBUG
    		builder.Logging.AddDebug();
#endif
            builder.UseMauiCommunityToolkit();

            return builder.Build();
        }
    }
}

3  在MainPage.xaml.cs中新增代码:

private void ToastClicked(object sender, EventArgs e)
{
    CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();

    string text = "弹出Toast";
    ToastDuration duration = ToastDuration.Short;
    double fontSize = 14;

    var toast = Toast.Make(text, duration, fontSize);

    toast.Show(cancellationTokenSource.Token);
}

完整代码如下:

using CommunityToolkit.Maui.Core;
using CommunityToolkit.Maui.Alerts;
namespace MauiDemo2
{
    public partial class MainPage : ContentPage
    {
        int count = 0;

        public MainPage()
        {
            InitializeComponent();
        }

        private void ToastClicked(object sender, EventArgs e)
        {
            CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();

            string text = "弹出Toast";
            ToastDuration duration = ToastDuration.Short;
            double fontSize = 14;

            var toast = Toast.Make(text, duration, fontSize);

            toast.Show(cancellationTokenSource.Token);
        }
    }

}

4  在MainPage.xaml编辑如下:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="MauiDemo2.MainPage">

    <ScrollView>
        <VerticalStackLayout
            Padding="30,0"
            Spacing="25">
            <Button
                x:Name="ToastBtn"
                Text="弹Toast"
                Clicked="ToastClicked"
                HorizontalOptions="Fill" />
        </VerticalStackLayout>
    </ScrollView>

</ContentPage>

5  在android模拟器中运行效果如下图:

相关文章:

  • Array.every() 和 Array.some()用于数组条件判断的方法,它们的核心区别在于判断逻辑和短路行为
  • LeetCode算法题(Go语言实现)_39
  • 【LaTeX】安装
  • leetcode-419.棋盘上的战舰
  • 报错:mount: unknown filesystem type ‘vfat’
  • 全国产压力传感器常见的故障有哪些?
  • 全网通4G北斗GPS双模定位系统 车载定位终端
  • vector与deque应用
  • 第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 A 组真题
  • 免费AI编程插件Fitten Code + IntelliJ IDEA实现AI辅助编程实战指南
  • 自学Matlab-Simscape(初级)- 2.1 Simscape Multibody 模块之关节(运动副)
  • Java 设计模式:适配器模式详解
  • Enovia许可使用限制
  • 新书速览|从零构建大模型:算法、训练与微调
  • 【Python使用】嘿马python运维开发全体系教程第3篇:常用工具使用,linux系统管理【附代码文档】
  • 在 Dev-C++中编译运行GUI 程序介绍(三)有趣示例一组
  • AST 技术进行 JavaScript 反混淆实战
  • 如何查询node inode上限是多少?
  • 性能飙升50%,react-virtualized-list如何优化大数据集滚动渲染
  • WPF ComboBox首次加载不触发SelectionChanged事件
  • 温州网站 公司/云客网平台
  • 网站开发助理主要工作/建站合肥网络公司seo
  • 最新手机资讯/广州网站优化方式
  • 哪些网站可以做批发/全网自媒体平台
  • 网络架构分为几层/店铺seo是什么意思
  • 网站手机自动跳转/教育培训机构网站