.NET MAUI Community Toolkit 中的新增功能

news2024/10/7 18:28:09

对于 .NET MAUI Community Toolkit 来说,11月是一个繁忙的时期,它发布了多个版本,其中包含大量令人惊叹的新功能。最新版本具有新的视图、布局、Tizen 支持、.NET 7 支持等等。这篇文章带你快速了解所有新功能。

什么是 .NET Community Toolkit?

对于那些不熟悉 .NET MAUI Community Toolkit 的人来说,它是一个社区创建的库,其中包含扩展、高级 UI/UX 控件、转换器和 Behaviors,可帮助您更轻松地成为 .NET MAUI 开发人员。它是免费和开源的,由 .NET MAUI 开发者为 .NET MAUI 开发人员创建。

让我们深入了解最新发布的 .NET MAUI Community Toolkit 中的一些重要新功能。

扩展视图

扩展视图是一个容器控件,它提供了一种在点击标题时展开和折叠可视内容的方法。该控件由头部和内容两部分组成。通过点击 Expander.Header 或通过设置 IsExpanded 可绑定属性来显示或隐藏内容。

<toolkit:Expander>
    <toolkit:Expander.Header>
        <Label Text="Simple Expander (Tap Me)" FontSize="16" FontAttributes="Bold"/>
    </toolkit:Expander.Header>
    <toolkit:Expander.Content BackgroundColor="LightGray">
        <VerticalStackLayout>
            <Label Text="Item 1"/>
            <Label Text="Item 2"/>
        </VerticalStackLayout>
    </toolkit:Expander.Content>
</toolkit:Expander>

DockLayout

DockLayout 是一种可以将视图停靠到布局容器的两侧的布局。这使得它在许多需要将屏幕划分为特定区域的情况下是一个不错的选择。


DockLayout 可以在 XAML 中创建,如下所示:

<toolkit:DockLayout>
    <Button toolkit:DockLayout.DockPosition="Top" Text="Top" HeightRequest="50" />
    <Button toolkit:DockLayout.DockPosition="Bottom" Text="Bottom" HeightRequest="70" />
    <Button toolkit:DockLayout.DockPosition="Left" Text="Left" WidthRequest="80" />
    <Button toolkit:DockLayout.DockPosition="Right" Text="Right" WidthRequest="90" />
    <Button Text="Center" />
</toolkit:DockLayout>

StateContainer

StateContainer 使基于应用程序的状态动态显示内容变得超级容易。例如,从创建加载视图到在屏幕上叠加,或者在屏幕的一个小块上。当没有数据要显示时,可以创建空状态视图,而当发生错误时,可以显示错误状态视图。

Tizen 支持

现在 Tizen 支持 .NET MAUI Community Toolkit。这将 .NET MAUI Community Toolkit 带到了数以百万计运行 Tizen 的电视、手机和其他设备上。

.NET 7 支持

我们还推出了基于 .NET 7 构建的 .NET MAUI 社区工作包,这意味着那些想要享受 .NET 7 的所有好处的人可以使用 .NET MAUI Community Toolkit 来实现。

MAUI.Markup工具包

除了 .NET MAUI Community Toolkit 之外,我们还有 MAUI.Markup 工具包,它是 Fluent C# 扩展方法的集合,允许开发人员在 C# 中使用 MVVM、绑定、资源字典等来构建他们的应用程序,而无需在 XAML 中。

MAUI.Markup 工具包已更新,为 App Themeing 和 ITextAlignment 添加 C# 扩展方法。事实上,使用源代码生成器,Maui.Markup 会为每个 ITextAlignment 控件自动生成扩展方法,即使您创建自己的自定义控件也是如此!我们还为 MAUI.Markup 提供了 .NET 7 处理方式。

版本

那些看过我们在 Nuget 上发布的版本的人可能已经注意到,.NET MAUI Community Toolkit 的多个版本是连续发布的。有必要概述一下不同的版本:

  • 版本 1.4.0 – 添加了 Expander、DockLayout 和 StateContainer(当然还有很多错误修复!) –发行说明
  • 版本 2.0.0 – 添加了对所有功能的完整 Tizen 支持,包括 v1.4.0 的更改 –发行说明
  • 版本 3.0.0 – v1.4.0 和 v2.0.0 中的所有内容,针对 .NET 7 构建的 –发行说明

通过这种版本控制策略,我们的目标在为尽可能多的开发人员提供支持:.NET 6 上的每个人都可以获得我们迄今为止合并的所有功能,包括使用 v2.0.0 的 Tizen 支持。对于使用 .NET 7 的用户,您可以使用 v3.0.0 获得所有功能。

重要的是,在未来,.NET 7 将成为 .NET MAUI Community Toolkit 新功能的目标!

更多资源

如果您想了解有关 .NET MAUI Community Toolkit 的更多信息,您可以观看 .NET Conf 2022的精彩概述视频,其中 Gerald Versluis 介绍了 Community Toolkit 的历史、您今天可以使用它做什么以及如何开始使用它!

当然,您可以在我们的 GitHub 存储库中找到所有源代码和我们的示例应用程序,并查看我们的官方文档。

最后,非常感谢所有的贡献者!这实际上是由您的努力推动而带来的结果。如果您有任何问题或想让更多人知道您的经验,欢迎在评论区留下您的反馈!

我们希望您喜欢最新版本的 .NET MAUI Community Toolkit。

编码愉快!💻

欢迎前往 .NET MAUI Community Toolkit 官方站点,了解更多~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/86127.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Security学习笔记

目录 1、简介 2、初步使用 3、简单实现自定义登录页面用户名和密码 1、简介 Spring Security是一个安全管理框架&#xff0c;主要功能是认证和授权&#xff0c;大中型项目用的比较多&#xff0c;小项目Shiro用的比较多&#xff0c;但是Spring Security比Shiro功能更强大&am…

Appium基础 — APPium基础操作API

目录 1、前置代码 2、安装和卸载APP 3、判断APP是否已安装 4、关闭app软件和关闭驱动对象 5、发送文件到手机和获取手机中的文件 6、获取当前屏幕内元素结构&#xff08;重点&#xff09; 7、脚本内启动其他app 8、将应用程序置于后台运行&#xff08;重点&#xff09;…

小雉系统4.0

项目地址 官网 飞天雉&&小雉视频系统 github https://github.com/feitianzhi/xiaozhios gitee xiaozhios: “小雉系统”并非是开发操作系统,而是一套服务于软件供应商的产品升级方案; QQ交流群&#xff1a;869598376 小雉系统简介 “小雉系统”并非是开发操作系统,而…

SpringCloud项目实例--服务通讯基础API方法

Spring Cloud Alibaba提供的组件如下&#xff1a; Sentinel&#xff1a;阿里巴巴开源产品&#xff0c;不仅仅可以作为断路器&#xff0c;也支持流量控制和服务降级。 Nacos&#xff1a;阿里巴巴开源产品&#xff0c;服务注册与服务发现&#xff0c;同时也可以作为配置中心。 R…

21 【styled-components的使用】

21 【styled-components的使用】 1.为什么要用这个 我们都知道&#xff0c;我们从最开始学css的时候&#xff0c;为了避免写的样式影响到另外的地方。所以我们这样来写的。 #userConten .userBtn button{font-size: 18px; }首先给一个元素写了一个唯一id | class&#xff0c…

自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件(最完整的)

今天笔者就要归纳总结下一整套测试流程&#xff0c;从无到有&#xff0c;实现零突破&#xff0c;包括如何编写测试用例&#xff0c;定时执行测试用例&#xff0c;查找最新生成的测试报告文件&#xff0c;自动发送最新测试报告邮件&#xff0c;一整套完整的测试流程。以后各位只…

Spring Boot使用EasyExcel导入导出Excel

一、导入依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.1.6</version></dependency> 二、实现导出excel操作 1、对我们需要导出的实体类上加上注解&#xff0c;如下&#…

(二)字符函数和字符串函数详细讲解和模拟实现(优化)

✨✨✨✨✨✨✨✨✨&#x1f4d7;字符串查找函数&#xff1a;1.strstr函数2.strtok函数&#x1f4d4;错误信息报告函数&#xff1a;1.strerror函数&#x1f4d3;内存操作函数1.memcpy函数2.memmove函数3.memset函数4.memcmp函数❤️字符函数讲解&#x1f4d2;字符分类函数&…

Spring Cloud Alibaba整合Sentinel,使用nacos持久化流控规则

一、引入依赖 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifac…

小程序开发有什么快捷、低成本的方法?

2022年1月17日&#xff0c;阿拉丁研究院在《2021 年度小程序互联网发展白皮书》中提到&#xff0c;微信小程序开发者突破 300 万&#xff0c;DAU 超过 4.5 亿&#xff0c;正成为人们生活的 “标配”。 作为用户&#xff0c;我们几乎时时刻刻都享受着互联网带来的便利&#xff…

JMeter5.5入门到实战:HTTP+TCP+响应断言+自定义拓展+返回值获取

前言 众所周知JMeter是业内公认的性能测试工具&#xff0c;功能十分强大且易于拓展&#xff0c;但是入门有一定门槛&#xff0c;需要明白一些基本概念。本文使用了HTTP取样器、TCP取样器、响应断言、JSON提取器等组件&#xff0c;对公司现存的登录流程进行了测试。公司的产品包…

Java中hashmap底层Hash冲突是什么?以及如何解决Hash冲突 【杭州多测师_王sir】【杭州多测师】...

一、hashMap的底层实现hashmap的底层结构在jdk1.7之前是数组链表&#xff0c;但是在jdk1.8以后&#xff0c;其变成了数组链表红黑树&#xff0c;这个操作会加快在链表时候的查询速度。当链表的长度大于8 的时候&#xff0c;链表就会变为红黑树&#xff0c;而当长度小于6的时候&…

培训机构的存在对 IT 行业产生了哪些影响

这个标题我一看&#xff0c;应该就会引发一波口水、键盘要遭罪啦。。。做为从业十余年&#xff0c;培训行业从事也已经快7年了。 在正厚软件从一开始到今天。从讲师到教学和团队的协作、校区运营&#xff0c;从行业小白到对整体机构的运营和团队&#xff0c;有些许经验谈下个人…

测试4年裸辞失业,面试17k的测试岗被按在地上摩擦,结局让我崩溃大哭....

作为IT行业的大热岗位——软件测试&#xff0c;只要你付出了&#xff0c;就会有回报。说它作为IT热门岗位之一是完全不虚的。可能很多人回说软件测试是吃青春饭的&#xff0c;但放眼望去&#xff0c;哪个工作不是这样的呢&#xff1f;会有哪家公司愿意养一些闲人呢&#xff1f;…

FKM规范在非焊接构件中的静强度评估方法介绍(上篇)

导读&#xff1a;FKM &#xff08;《Analytical Strength Assessment of Components in Mechanical Engineering》&#xff09;规范是德国机械工程研究委员会根据机械产品在实际工程中的应用情况&#xff0c;统计出的针对由钢、铸铁及铝材料制成构件的静强度及疲劳强度的评估规…

C++模板(第二版)笔记之第六章:移动语义和 enable_if

文章目录一、完美转发&#xff08;Perfect Forwarding&#xff09;二、特殊成员函数模板&#xff1a;构造函数三、 通过 std::enable_if<>禁用模板四、 使用 enable_if<>1.不能通过使用 enable_if<>来禁用 copy/move 构造函数以及赋值构造函数五、使用 conce…

0124 双指针 Day13

剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 输入一个整数数组&#xff0c;实现一个函数来调整该数组中数字的顺序&#xff0c;使得所有奇数在数组的前半部分&#xff0c;所有偶数在数组的后半部分。 示例&#xff1a; 输入&#xff1a;nums [1,2,3,4] 输出&#xff1a…

net基于asp.net的计算机网络课程题库系统-计算机毕业设计

项目介绍 计算机网络课程题库系统是针对目前计算机网络课程试题的实际需求,从实际工作出发,对过去的计算机网络课程试题平台存在的问题进行分析,完善用户的使用体会。采用计算机系统来管理信息,取代人工管理模式,查询便利,信息准确率高,节省了开支,提高了工作的效率。 本系统结…

操作系统_线程安全问题

文章目录1.线程安全问题举例2.为什么会有线程安全问题3.如何解决线程安全问题1.从原子性入手解决线程安全问题2.synchronized的使用方法3.java标准库中的线程安全类4.死锁问题举例2.死锁的必要条件1.线程安全问题举例 看代码: class Count {int i 0;public void add(){i;} }…

Sklearn机器学习与Plotly可视化强强联合

在学习sklearn(机器学习)过程中&#xff0c;模型原理可谓是枯燥无味&#xff0c;加上大多数模型训练过程也是不可见的&#xff0c;这使得很多小伙伴们望而却步&#xff0c;当然也有很多学者试图通过各种方式以可视化模型学习及预测过程&#xff0c;但大多数是复杂且不美观的。 …