在 .NET 8 Preview 7 中推出 .NET MAUI:键盘加速键

news2024/11/18 11:38:02

作者:David Ortinau
排版:Alan Wang

.NET MAUI 现已在 .NET 8 Preview 7 中推出,它引入了键盘加速键以及更多的修复和改进。这是我们发布 .NET 8 候选版本和正式发布(GA)版本之前的最后一个预览版本。随着发布日期的公布,我们将像往常一样在 .NET Conf 上庆祝该版本的发布。 请在2023 年 11 月 14 日至 16 日期间与我们一起庆祝 .NET 8 发布!

版本 7.0.92 是 .NET 7 的最新服务版本。在此期间,我们重点关注 .NET 8,使其成为最佳版本。从 RC1 的下一个版本开始,您将获得上线支持许可证。我们鼓励每个人从现在开始考虑使用 .NET 8 版本。

这个版本是由 25 位贡献者(包括 bot)共同完成的。让我们向他们所有人,特别是首次贡献者 Lehonti Ramos、webwarrior-ws、molesmoke 和 Aaron Galuzzi,致敬,做得好!我们感谢每个人的贡献。如果您有兴趣提供帮助,请参阅我们的贡献指南。

桌面键盘加速键

键盘加速键使您能够将键盘快捷键分配给任何菜单项(无论是否可见),并将它们附加到任何 UI 元素。例如,此页面有一个菜单窗口,您可以使用 MenuItem.Accelerator 附加属性向其中的菜单项添加加速键:

<ContentPage.MenuBarItems>
    <MenuBarItem Text="File">
        <MenuFlyoutItem Text="Preferences"
            Command="{Binding PreferencesCommand}"
        />
    </MenuBarItem>
    <MenuBarItem Text="Products">
        <MenuFlyoutItem 
            x:Name="AddProductMenu"
            MenuItem.Accelerator="ctrl+a"
            Text="Add Product"
            Command="{Binding AddProductCommand}"
        />
        <MenuBarItem Text="Add Product Category"/>
    </MenuBarItem>
</ContentPage.MenuBarItems>

如果您想要在 C# 代码中添加加速键而不是在 XAML 实现加速键,则可以使用如下代码:

MenuItem.SetAccelerator(AddProductMenu, Accelerator.FromString("ctrl+a"));

现在,当这些按键被按下时,AddProductCommand 就会触发,就像用户点击或单击菜单项一样。有关支持的修饰符按键列表,请参阅 Accelerator.FromString 方法。

.NET MAUI 中修复和改进的内容

该版本的主要重点是 bug 修复和质量改进。有关完整的更改,请查看 8.0.0-preview.7.8842 发行说明。以下是要点:

  • 内存泄漏解决方案:
    • 各种 UI 控件(包括不同平台(例如 iOS、Android 和 Windows)上的 Border、Editor 和 Entry)中的多个内存泄漏问题得到了解决。 这些修复可确保改进内存管理和应用程序稳定性。#15946, #15614, #16045, #16101, #16348, #16349
  • 增强的 UI 控制功能:
    • Border、WebView 和 Entry 等 UI 控件已针对不同平台(iOS、Android、Windows)上的行为、性能和自定义选项进行了更新。这些增强功能有助于提供更加用户友好且功能丰富的体验。 #14740, #15881, #15585, #14846, #16215, #15458, #16270
  • 特定于平台的改进:
    • 每个主要平台(iOS、Android、Windows)从内存泄漏修复到性能增强都进行了针对性的改进,确保应用程序在不同环境下平稳高效地运行。#15734, #16145, #16032
  • Bug 修复和改进:
    • 从外观问题(Shell TabBar)到功能(ListView 中的 SelectedItemChanged)等多个 bug,已在不同平台上得到解决。 这些修复有助于打造更加完美且无 bug 的应用程序。#16128, #16241, #16275, #14663, #16057, #16116, #16174, #16248, #15099, #15459
  • 输入和交互增强:
    • 对用户输入和交互功能进行了改进,例如文本框中的光标保留、菜单键加速器和 InputTransparent 行为排列。这些更新增强了用户参与度和应用程序可用性。#15799, #15835

附加发行说明:
• 适用于 Android 的 .NET
• 适用于 iOS 和 Mac 的 .NET

如何更新

现在,Windows 上的 Visual Studio 2022 已经包含 .NET 8 预览和 .NET MAUI 预览版工作负载。请下载最新的预览版本(17.8 Preview 1),选择 .NET Multi-platform App UI 工作负载,然后选中可选组件“.NET MAUI(.NET 8 Preview)” 。

当您同时安装 .NET 8 Preview 6 和 7 时,在 Mac 上为 Apple 平台构建程序会有一个已知问题。请查看已知问题以了解详细信息和解决步骤。

如果您想要在 macOS 上使用 Visual Studio for Mac 进行开发,您可以在“Preferences”中启用 .NET 8 预览功能并从安装程序安装 .NET 8 Preview 7。
在这里插入图片描述
下载 .NET 8 Preview 7 安装程序,然后从命令行安装 .NET MAUI:

dotnet workload install maui

下一步计划?

我们准备在下一个 .NET 8 版本中为新版本的 iOS、iPadOS、macOS、Mac Catalyst、tvOS 和 CarPlay 引入 Xcode 15 支持。我们预计 .NET 8 于 11 月发布时将使用稳定版本的 Xcode 15。

开发人员提示:我建议通过从 Apple 开发者门户明确下载和选择版本来管理 Xcode 版本,而不是依赖 App Store,因为 App Store 可能会自动更新并破坏兼容性。 当维护 Xcode 的并行版本时,您可能需要使用 Xcodes.app 之类的东西。

欢迎反馈

我们感谢您对 .NET MAUI 的反馈和贡献。您可以在 GitHub 存储库上报告问题、建议功能或提交请求。您还可以加入我们的 Discord 服务器。

感谢您的支持,祝您编码愉快!

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

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

相关文章

六、DataGrip的基础使用

创建新数据库 1、点击MySQL图标&#xff0c;右键点击新建&#xff0c;然后选择框架(数据库) 2、输入数据库名称&#xff1a; 此处schema代表框架&#xff0c;和database(数据库)是同一性质的东西。 创建新的表 1、右键点击数据库&#xff0c;点击新建&#xff0c;再点击表 2…

设计模式-装饰模式

文章目录 一、简介二、基本概念三、装饰模式的结构和实现类图解析&#xff1a;装饰器的实现方式继承实现&#xff1a;组合实现&#xff1a;继承和组合对比 四、装饰模式的应用场景五、与其他模式的关系六、总结 一、简介 装饰模式是一种结构型设计模式&#xff0c;它允许动态地…

黑客常用的10大工具介绍

黑客技术一度被认为是一个神秘的特有领域&#xff0c;随着技术的进步和领域环境的进步&#xff0c;它已经成为一种非常普遍的现象。黑客技术可以用于有害目的&#xff0c;也可以用于发现系统中的漏洞&#xff0c;并通知系统属主&#xff0c;帮助他们更好地保护系统。 借助于一些…

【【萌新的STM32学习--24 USART的部分介绍】】

萌新的STM32学习–24 USART的部分介绍 STM32的USART的介绍 USART 英文解释是 通用同步异步收发器 UART 通用异步收发器 USART/UART 都可以与外部设备进行全双工异步通信 USART 我们常用的也是异步通信 USART 主要特征 1.全双工异步通信 2.单线半双工通信 3.单独的发送器和接…

股市里面怎么加杠杆?买股加杠杆如何应对市场波动与风险?

股市里面怎么加杠杆&#xff1f;买股加杠杆如何应对市场波动与风险&#xff1f;首先&#xff0c;让我们讨论如何在股市中加杠杆。主要有一下两种方式&#xff1a; 1. 通过杠杆交易平台&#xff1a;许多券商和金融机构提供杠杆交易平台。 2. 通过杠杆型交易基金&#xff1a;杠…

在QGIS中手动输入坐标文本添加点状矢量要素的一种方法

目录 一、前言 二、应用场景 三、实现思路 四、实验过程 1、创建一个临时矢量图层 2、给矢量图层新增要素 3、给新增要素的几何图形赋值 4、查看要素的几何图形 五、实验总结 一、前言 本文主要为QGIS点状矢量数据编辑方面的内容&#xff0c;不涉及编程方面。我们知道大…

一文了解性能测试常见的指标

一、什么是性能测试 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。 我们可以认为性能测试是&#xff1a;通过在测试环境下对系统或构件的性能进行探测&#xff0c;用以验证在生产环境下系统性能是否达到预估的性能需求…

Vue3列表竖向滚动(包含使用swiper的翻页效果)

一、使用element-plus表格进行滚动&#xff1a; 可以满足的需求&#xff1a;表格一行一行竖向滚动&#xff0c;类似走马灯。 不能满足的需求&#xff1a;表格分页竖向滚动&#xff0c;有翻页的效果。 代码&#xff1a; <template><el-table:data"tableData"…

【LeetCode-中等题】236. 二叉树的最近公共祖先

文章目录 题目方法一&#xff1a;后序遍历 回溯 题目 方法一&#xff1a;后序遍历 回溯 解题的核心就是&#xff1a;采用后序遍历 讨论p&#xff0c;q是否在当前的root的两边&#xff0c;如在两边则返回当前节点root 如何不在两边&#xff0c;只要出现一个节点等于p或者q就…

怎么让模糊的图片变清晰?试试这几招吧

有时候我们自己拍摄的照片或者是从网上下载的壁纸、头像背景等&#xff0c;应用的时候觉得这个画质怎么这么模糊&#xff0c;这种图片模糊的情况应该怎么办呐&#xff1f;其实借助专业有效的修复工具&#xff0c;我们就可以快速将模糊的图片变清晰了&#xff0c;今天就给大家介…

YOLO目标检测——人脸属性识别数据集下载分享

人脸多种属性、关键点标注数据集&#xff0c;包含了10000张脸&#xff0c;其中7500用于训练&#xff0c;2500张用于测试&#xff0c;共98个关键点。除了关键点之外&#xff0c;还有遮挡&#xff0c;姿态&#xff0c;妆容&#xff0c;光照&#xff0c; 模糊和表情等多种属性信息…

【LeetCode算法系列题解】第16~20题

CONTENTS LeetCode 16. 最接近的三数之和&#xff08;中等&#xff09;LeetCode 17. 电话号码的字母组合&#xff08;中等&#xff09;LeetCode 18. 四数之和&#xff08;中等&#xff09;LeetCode 19. 删除链表的倒数第N个节点&#xff08;中等&#xff09;LeetCode 20. 有效的…

java八股文面试[多线程]——Happens-Before规则

TODO 知识来源&#xff1a; 【23版面试突击】你知道什么是 happens-before 原则吗&#xff1f;_哔哩哔哩_bilibili 【2023年面试】Happens-Before规则是什么_哔哩哔哩_bilibili

优维×国信共研:双态交付助力国信证券持续交付更上层楼!

传统持续交付模式束缚&#xff0c;国信证券开启自主研发之路 在日益复杂的业务环境下&#xff0c;传统持续交付模式已经无法满足快速变化的需求。国信证券积极应对这一挑战&#xff0c;勇敢创新&#xff0c;突破交付瓶颈&#xff0c;实现了双态应用的持续交付新高度。 共研优…

任意文件读取

文章目录 渗透测试漏洞原理任意文件读取1. 任意文件读取概述1.1 漏洞成因1.2 漏洞危害1.3 漏洞分类1.4 任意文件读取1.4.1 文件读取1.4.2 任意文件读取1.4.3 权限问题 1.5 任意文件下载1.5.1 一般情况1.5.2 PHP实现1.5.3 任意文件下载 2. 任意文件读取攻防2.1 路径过滤2.1.1 过…

44、基于 AOP 的错误处理,相当于异常拦截处理

基于 springboot 自动配置的 spring mvc 错误处理&#xff0c;就是演示项目报错后&#xff0c;跳转到自定义的错误页面 ★ 两种错误处理方式 方式一&#xff1a; 基于Spring Boot自动配置的错误处理方式&#xff0c;只要通过属性文件即可配置错误处理行为。 提供自定义的错误…

C++ : implicit instantiation of undefined template ‘std::vector<_******>‘

编译报错 implicit instantiation of undefined template ‘std::vector<_struFontMap>’ 需要 #include add vector class

Windows安装单节点Zookeeper

刚学习Dubbo&#xff0c;在Centos7中docker安装的zookeeper3.7.1。然后在启动provider时一直报错&#xff0c;用尽办法也没有解决。然后zookeeper相关的知识虽然以前学习过&#xff0c;但是已经忘记的差不多了。现在学习dubbo只能先降低版本使用了&#xff0c;之后再复习zookee…

第二篇: libyuv的编译

一、前言 DirectShow采集出来的视频, 采集格式(例如: mjepg)和我们需要的视频格式(i420)并不一致&#xff0c;因此需要解码 二、libyuv下载 git clone https://chromium.googlesource.com/external/libyuv 三、libjpeg-turbo下载 git clone https://github.com/libjpeg-tu…

北斗三代PPP-B2b解算非组合PPP分析

下面进行了北斗三代PPP-B2b非组合PPP-B2b定位的初步结果&#xff08;具体结果参考图片红色字体&#xff0c;不要看坐标轴标注或者标题&#xff09;&#xff1a; 参考文献&#xff1a; 1、https://blog.csdn.net/qq_40056060/article/details/119107531目录系列文章目录前言一、…