在上一篇博文的基础上继续操作:
.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模拟器中运行效果如下图: