平台|MAUI中构建跨平台原生控件实现( 三 )


staticvoidMapIndeterminate(MyProgressBarHandler handler, MyProgressBar view){//...}}
第五步
打开MauiProgram文件, 添加AddHandler

publicstaticMauiApp CreateMauiApp {varbuilder = MauiApp.CreateBuilder; builder.UseMauiApp<App>.ConfigureFonts( fonts=> {fonts.AddFont( "OpenSans-Regular.ttf", "OpenSansRegular"); }).ConfigureMauiHandlers( handler=> {handler.AddHandler( typeof(MyProgressBar), typeof(MyProgressBarHandler)); }); returnbuilder.Build; }第六步
界面中,分别声明MAUI原生控件与自定义控件
< ContentPagexmlns= "http://schemas.microsoft.com/dotnet/2021/maui"xmlns:x= "http://schemas.microsoft.com/winfx/2009/xaml"x:Class= "MAUIRender.MainPage"xmlns:my= "clr-namespace:MAUIRender"xmlns:ctor= "clr-namespace:MAUIRender.Controls"BackgroundColor= "{DynamicResource SecondaryColor}"> < Grid> < StackLayout> < ProgressBarProgress= "30"ProgressColor= "Red"/> < ctor:MyProgressBarIndeterminate= "True"Value= "https://www.sohu.com/a/600"Foreground= "Green"/> </ StackLayout> </ Grid> </ ContentPage> 运行实际效果:
平台|MAUI中构建跨平台原生控件实现
文章图片

通过利用Handler来处理不同平台控件的行为 , 与控件本身解耦并且更加容易支持更多的平台 。
微软最有 价值专家(MVP)
微软最有价值专家是微软公司授予第三方技术专业人士的一个全球奖项 。 28年来 , 世界各地的技术社区领导者 , 因其在线上和线下的技术社区中分享专业知识和经验而获得此奖项 。
MVP是经过严格挑选的专家团队 , 他们代表着技术最精湛且最具智慧的人 , 是对社区投入极大的热情并乐于助人的专家 。 MVP致力于通过演讲、论坛问答、创建网站、撰写博客、分享视频、开源项目、组织会议等方式来帮助他人 , 并最大程度地帮助微软技术社区用户使用Microsoft技术 。
更多详情请登录官方网站:
https://mvp.microsoft.com/zh-cn
一站获取.NET MAUI资料

推荐阅读