平台|MAUI中构建跨平台原生控件实现
微软中国MSDN 点击上方 蓝字关注我们
大家好 , 我是本期的微软MVP实验室研究员——周豪 。 MAUI中使用Handler体系来处理不同平台的原生控件实现 , 即对应的, 如果我们想要创建控件 , 只需要创建基于不同平台的Handler即可 。 那么下面主要教大家如何通过创建Handler(事件处理程序)来构建自己的控件 。
微软MVP实验室研究员
文章图片
周豪
微软最有价值专家(MVP)
目前活跃在国内的多个长视频/短视频平台 , 分享WPF、Xamarin、ASP.NET Core等免费教程 。
下面 , 将通过创建一个进度条控件案例 , 来演示如何在MAUI项目中创建平台控件并且使用它 。
假设控件包含基础的三项功能 , 进度条颜色(Foreground)、进度条当前值(Value)、进度条模式(Indeterminate) 。
第一步
声明控件类
首先 , 创建MyProgressBar类 , 定义对应的依赖属性 。
publicstaticreadonlyBindableProperty IndeterminateProperty = BindableProperty.Create( nameof(Indeterminate), typeof( bool), typeof(MyProgressBar), false);
publicColor Foreground {get{ return(Color)GetValue(ForegroundProperty); } set{ SetValue(ForegroundProperty, value); } }publicdoubleValue {get{ return( double)GetValue(ValueProperty); } set{ SetValue(ValueProperty, value); } }
publicboolIndeterminate {get{ return( bool)GetValue(IndeterminateProperty); } set{ SetValue(IndeterminateProperty, value); } }}
第二步
创建标准处理程序
有了控件的标准属性定义之后 , 接下来就是定义标准的Handler处理程序 , 其中包含控件属性映射器及构造函数 , 如下所示:
推荐阅读
- China|中国移动10086 APP发布公告:将于1月30日停止运营
- 新浪科技|还在售卖!上万元买肯德基盲盒套餐,中消协呼吁抵制
- 中国新闻网|最新数据:中国有效发明专利359.7万件 有效注册商标3724万件
- 中国新闻网|美团外卖:西安受疫情影响骑手免除所有违规扣罚
- 最新消息|肯德基客服回应盲盒被中消协点名:不影响销售 可继续买
- IT|疑似极氪新车路试谍照曝光 定位中大型家用MPV/或命名为极氪002
- 中新经纬|反向带货还是饥饿营销,瑞幸李国庆互怼伤害了谁?
- 年味|冬奥会闭环的年味
- 新京报|肯德基客服回应盲盒被中消协点名:不影响销售,可以继续购买
- 新浪汽车|特斯拉回应ModelY起火:被旁边充电中的网约车引燃