测试机器为:美帝良心想 padpro11,系统版本:安卓11
开发环境:Microsoft Visual Studio Community 2022 (64 位) - Current 版本 17.4.4/ .Net 7.0
Demo下载:【demo】.Net MAUI 自定义仿Win11对话框
效果如下视频:
.net MAUI 自定义对话框
一、创建一个.NET MAUI app项目
二、安装 CommunityToolkit.Maui 和 CommunityToolkit.Maui.Core 两个NuGet 包
在 MauiProgram.cs 文件中添加上面两个包的扩展方法,如下图:
代码:
builder
.UseMauiCommunityToolkitCore()
.UseMauiCommunityToolkit()
.UseMauiApp<App>()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
});
三、在项目中新建个文件夹 如Controls →右键添加→新建项→.NET MAUI ContentView(XAML)→命名为 MessageBox,名字自己取喜欢的就行,如下图:
四、在MessageBox.xaml 中引入
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
并将 ContentView 改为 toolkit:Popup ,
将CanBeDismissedByTappingOutsideOfPopup="False" 意思是禁止触摸边缘时候隐藏
Color="Transparent" 将背景色设置为透明 如下图:
代码如下:
<toolkit:Popup xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
x:Class="MessageBoxDemo.Controls.MessageBox"