界面控件DevExpress v24.1全新发布 - 跨平台性进一步增强

news2024/12/23 13:26:14

DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpress Dashboard eXpressApp 框架、适用于 Visual Studio的CodeRush等一系列辅助工具。屡获大奖的软件开发平台DevExpress 今年第一个重要版本v23.1正式发布,该版本拥有众多新产品和数十个具有高影响力的功能,可为桌面、Web和移动应用提供直观的解决方案,全面解决各种使用场景问题。

DevExpress官方已于近期全新发布v24.1,此版本包含了重点升级了控件的跨平台性,欢迎下载最新版产品体验!

DevExpress v24.1最新正式版下载(Q技术交流:532598169)

可访问性增强

可访问性支持仍然是最重要的工程优先级,因此在新版本中我们增强了键盘导航/屏幕阅读器支持,扩展了自动化功能和其他与易访问性相关的功能,以确保更好地符合WCAG中概述的标准。

这个版本包括对大多数桌面和Web组件套件的增强:

  • WinForms控件
  • WPF控件
  • DevExtreme JavaScript组件
  • Blazor UI组件
  • ASP.NET Core控件
  • .NET Reporting
  • XAF - 跨平台 .NET App UI (Blazor)
  • VCL控件
跨UI平台支持新的.NET DateOnly和TimeOnly类型

在.NET Core / .NET 6+应用程序中,新版本现在在数据感知的UI控件(如数据网格、树形列表、日期和时间编辑器)中支持DateOnly 和TimeOnly类型。

  • WinForms控件
  • WPF控件
  • Blazor UI组件
  • XAF - 跨平台 .NET App UI (Blazor)

由于核心级别的变化( DevExpress.Data和DevExtreme.AspNet.Data库),现在支持客户端/内存和服务器模式数据源的这些数据类型(这两种数据类型都被上面列出的多个UI控件使用):

  • EntityServerModeSource / EntityInstantFeedbackSource
  • LinqServerModeSource / LinqInstantFeedbackSource
  • GridDevExtremeDataSource(针对ASP.NET Core / DevExtreme和基于Blazor的控件)

您可以根据DateOnly和TimeOnly值对数据(以及其他功能)进行排序、分组和筛选,新版本还扩展了标准语言如下:

  • 您可以在过滤器表达式和未绑定列中使用与日期/时间相关的函数(如AddHours、GetDays、DateDiffDays等)。
  • 您现在可以把DateOnly/TimeOnly常量用 '#' 和 '! '用于字符串过滤表达式:

[OrderDate] >= #!2018-03-22!# && [OrderTime] >= #!18:22:00!#

由于以下与微软相关的突破性变化,这些新的数据类型对EF Core 8开发人员来说特别重要:SQL Server date and time now scaffold to .NET DateOnly and TimeOnly。DevExpress客户即使不使用EF Core 8进行数据访问,也会从这个新功能中受益——重要的是底层数据库或可查询提供者支持新的数据类型(如Microsoft SQL Server with EF Core 8)。

DateOnly和TimeOnly是在 .NET 6.0中引入的,它们是映射数据库日期和时间类型的完美匹配。DateTime包含一个未使用的时间组件,在将其映射到日期时可能会导致混淆,而TimeSpan表示时间间隔(可能包括天数),而不是事件发生的一天中的某个时间。使用新的类型可以防止错误和混淆,并提供清晰的意图。

注意:Microsoft和第三方软件包供应商没有在.NET框架上支持DateOnly和TimeOnly类型。此外,DevExpress官方还没有正式支持.NET框架和两个框架中的OData/XPO数据源的这个特性,鼓励用户迁移到.NET 6+来受益于新的数据类型。从技术上讲,官方在.NET和.NET之间共享部分代码库,所以不要混淆,.NET框架的DevExpress.Data库包含了 "shim" DateOnly和TimeOnly类型,如果您遇到与第三方兼容性包的任何冲突(例如一个或两个非官方支持),我们建议您删除这些包。

.NET 和 .NET Framework - 从Newtonsoft.Json迁移到System.Text.Json

在最新的v24.1版本中,以下DevExpress产品将使用Microsoft的System.Text.Json替代Newtonsoft. Json来处理JSON序列化相关的任务:

  • 数据访问库:BI Dashboards (DashboardJsonDataSource) 和报表(JsonDataSource),支持.NET 6+ WinForms、WPF、Blazor、ASP. NET Core应用程序(.NET框架应用程序将继续使用Newtonsoft.Json库,期望在v24.2更新中切换到System.Text.Json)。
  • 针对.NET 6+和.NET框架DevExtreme、Blazor和ASP. NET Core应用程序的数据访问库(DevExtreme.AspNet.Data v4.0.0+的System.Text.Json兼容版本现在可用)
  • .NET 6+非XAF应用程序(DevExtreme, Blazor, .NET MAUI等)和XAF应用程序的Backend Web API服务。
  • .NET 6+ WinForms映射的WPF、Blazor、ASP.NET Core应用程序(.NET框架应用程序将继续使用Newtonsoft.Json库)中的地图。
  • Blazor富文本编辑器(没有突破性的变化)。

新版本设计时代码(向导、设计器和工具)可能仍然会继续使用Newtonsoft.Json,因为Visual Studio中的依赖关系(一些设计时服务仍然依赖Newtonsoft.Json,但我们相信这种情况将来会改变)。目前依赖于Newtonsoft.Json的其他.NET框架产品可能会切换到System.Text.Json,这里我们依赖于DevExpress产品最低限度支持的.NET框架版本,该版本可能会在v24.2中从4.5.2更改为4.6.2。

重新生成NuGet API密钥(Feed)

要重新生成NuGet API密钥,请导航到https://nuget.devexpress.com/并单击generate Feed链接。

您的NuGet API密钥是敏感信息,应该保护它不被不受信任的第三方未经授权使用。如果您泄露了NuGet API密钥,需要尽快重新生成它。重新生成NuGet API密钥的情况或原因可能包括但不限于以下情况:

  • 您错误地将NuGet API密钥包含在公共论坛帖子、GitHub存储库、日志文件或其他授权位置。
  • 之前可以访问NuGet Feed的团队成员已经离开了公司。
  • 您知道或怀疑您的NuGet API密钥已被窃取或泄露。

DevExpress Reporting v23.2新版产品图集

DevExpress NuGet Server - 增强文档

官方更新了在线文档 来解决用户反馈的使用场景问题,DevExpress NuGet feed(离线或在线)可用于Windows, Mac OS和Linux:

  • 选择离线和在线DevExpress NuGet feed
  • 在Visual Studio、VS Code和Rider中安装NuGet包
  • 与GitLab集成
  • 其他CI/CD系统的安全性最佳实践

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

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

相关文章

1. 基础设计流程(以时钟分频器的设计为例)

1. 准备工作 1. 写有vcs编译命令的run_vcs.csh的shell脚本 2. 装有timescale,设计文件以及仿真文件的flish.f(filelist文件,用于VCS直接读取) vcs -R -full64 -fsdb -f flist.f -l test.log 2. 写代码(重点了解代码…

【Mac】DMG Canvas for mac(DMG镜像制作工具)软件介绍

软件介绍 DMG Canvas 是一款专门用于创建 macOS 磁盘映像文件(DMG)的软件。它的主要功能是让用户可以轻松地设计、定制和生成 macOS 上的安装器和磁盘映像文件,以下是它的一些主要特点和功能。 主要特点和功能 1. 用户界面设计 DMG Canva…

定义和反射Annotation类(注解)

文章目录 前言一、定义Annotation类二、反射Anootation类 1.元注解2.反射注解总结 前言 在写代码的过程中,我们经常会写到注释,以此来提醒代码中的点。但是,这些注释不会被查看,也不在整个代码之中,只能在源代码中进行…

Mistral AI最新力作——Mistral Large媲美GPT-4

Mistral AI自豪地宣布,他们的最新力作——Mistral Large,已经正式面世。这款尖端的文本生成模型不仅在多语言理解上表现出色,更在推理能力上达到了顶级水平。Mistral Large能够处理包括文本理解、转换和代码生成在内的复杂多语言推理任务。 M…

依赖注入(Dependency Injection, DI)在 iOS 开发中的应用

在 iOS 开发中,我们经常会遇到类与类之间存在依赖关系的情况。例如,一个视图控制器可能需要一个服务对象来处理数据,这种情况下,视图控制器就依赖于这个服务对象。传统的做法是直接在视图控制器中创建服务对象,但这会导…

目标跟踪算法(bytetrack)-tensorrt部署教程

一、本机安装python环境 conda create -n bytetrace_env python=3.8 activate bytetrace_env conda install pytorch torchvision cudatoolkit=10.1 -c检测GPU是否可用,不可用不行 import torch print(torch.cuda.is_available())安装bytetrack git clone https://github.c…

车辆轨迹预测系列 (二):常见数据集介绍

车辆轨迹预测系列 (二):常见数据集介绍 文章目录 车辆轨迹预测系列 (二):常见数据集介绍1、NuScenes (2020):1、下载2、说明 2、Waymo Open Dataset (2020):1、介绍2、概述3、下载4、教程5、参考 3、Lyft Level 5 (2020)&#xff…

Ubuntu系统如何配置通过图形界面登录root用户

Ubuntu系统中的root账号默认是锁定的,但可以通过设置密码来启用。 需要注意的是,由于root用户具有对系统完全控制的权限,因此在使用root账户时应格外小心。一个错误的命令可能会导致系统损坏,这就是为什么Ubuntu默认不启用root账户…

ELK Kibana搜索框模糊搜索包含不包含

默认是KQL,点击切换Lucene搜索,搜索日志中包含Exception关键字,不包含BizException、IllegalArgumentException、DATA_SYNC_EXCEPTION关键字的日志,如下: message: *Exception AND !(message : *BizException OR message : *Ille…

五十三、openlayers官网示例Layer Spy解析——跟随鼠标透视望远镜效果、图层剪裁

官网demo地址: Layer Spy 这篇实现了鼠标跟随望远镜效果,鼠标移动时绘制一个圆形的剪裁区剪裁上层图层。 container.addEventListener("mousemove", function (event) {mousePosition map.getEventPixel(event);map.render();});container.a…

工具分享:Search_Viewer

文章目录 前言Search_Viewer介绍安装方式使用方式 前言 本文推荐工具Search_Viewer,详细介绍其安装和使用方式。 Search_Viewer介绍 集Fofa、Hunter鹰图、Shodan、360 quake、Zoomeye 钟馗之眼、censys 为一体的空间测绘gui图形界面化工具,支持一键采…

【Python】成功解决TypeError: missing 1 required positional argument

【Python】成功解决TypeError: missing 1 required positional argument 下滑即可查看博客内容 🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇 🎓 博主简介&#xff1…

事件驱动架构详解:触发与响应构建高效系统

目录 前言1. 事件驱动架构概述1.1 什么是事件1.2 事件驱动架构的核心概念 2. 事件驱动架构的实现2.1 基于消息队列的实现2.2 基于发布-订阅模式的实现2.3 基于流处理的实现 3. 事件驱动架构的优势3.1 松耦合性3.2 可扩展性3.3 异步处理3.4 灵活性 4. 事件驱动架构的应用场景4.1…

【论文复现|智能算法改进】改进麻雀算法的无人机三维路径规划

目录 1.UAV路径规划数学模型2.改进点3.结果展示4.参考文献5.代码获取 1.UAV路径规划数学模型 【智能算法应用】蜣螂优化算法DBO求解UAV路径规划 2.改进点 Logistics混沌映射 X n 1 μ X n ( 1 − X n ) , X n ∈ ( 0 , 1 ) (1) X_{_{n1}} \mu X_{_n}( 1 - X_{_n} ) ,\qua…

CSS属性选择器具有不区分大小写的模式

今天,我偶然发现了 caniuse.com 项目的一期,其中提到了新的和即将推出的 CSS Level 4 选择器。 这个列表很长,并且有许多新的选择器正在开发中。一个新的选择器标志引起了我的注意;属性选择器将变成一个 i 标志,这使得…

CRMEB PRO企业微信通讯录配置

企业微信通讯录配置 登录企业微信管理后台 企业微信 1、点击【管理工具】找到【通讯录同步】点击进入 2、点击【开启API接口同步】 进入设置【通讯录同步】页面后,权限一栏,勾选【API编辑通讯录】勾选【开启手动编辑】; 3、点击下图箭头所…

服务端代码编写中MySql大小写在Java中报错问题解决

报错信息: 原因:MySql和Java变量大小写产生的冲突。 经过查阅各个博客等,得出浅显结论(不一定对):MySql大小写不敏感,Java大小写敏感,当Javabean转为MySql数据库表时,Ja…

Linux企业 集群批量管理-秘钥认证

集群批量管理-秘钥认证 概述 管理更加轻松:两个节点,通过秘钥认证形成进行访问,不需要输入密码,单向服务要求(应用场景): 一些服务在使用前要求我们做秘钥认证 手动写批量管理脚本名字&#x…

Swift Combine — Subject Publishers(PassthroughSubject CurrentValueSubject)

本文主要介绍一下Subject&#xff0c;Subject 本身也是一个 Publisher&#xff0c;其定义如下&#xff1a; public protocol Subject<Output, Failure> : AnyObject, Publisher {func send(_ value: Self.Output)func send(completion: Subscribers.Completion<Self.…

基于jeecgboot-vue3的Flowable流程-自定义业务表单处理(一)支持同一个业务多个关联流程的选择支持

因为这个项目license问题无法开源&#xff0c;更多技术支持与服务请加入我的知识星球。 这部分先讲讲支持自定义业务表单一个业务服务表单多个流程的支持处理 1、后端mapper部分 如下&#xff0c;修改selectSysCustomFormByServiceName为list对象&#xff0c;以便支持多个 &…