界面开发框架DevExpress XAF v24.1新版预告 - 跨平台应用UI(一)

news/2025/3/15 5:15:20/

DevExpress XAF是一款强大的现代应用程序框架,允许同时开发ASP.NET和WinForms。XAF采用模块化设计,开发人员可以选择内建模块,也可以自行创建,从而以更快的速度和比开发人员当前更强有力的方式创建应用程序。

本文中的内容概述了XAF跨平台.NET应用UI和DevExpress .NET App、Web API服务(预计发布日期:2024年6月)将发布的特性/功能。

注意:本文中列出的功能和特性说明官方当前/预计的发展计划,此信息仅供参考之用,其中列出的功能/产品可能会更改。

获取DevExpressv23.2正式版下载(Q技术交流:909157416)

ASP.NET Core Blazor UI

官方计划在v24.1发布周期中发布以下XAF Blazor UI特性/功能,重点领域将继续保持安全、Blazor和EF Core。

DevExpress XAF v24.1产品图集

可访问性增强和键盘支持

目前XAF (UI for ASP. NET Core Blazor, WinForms和ASP. NET WebForms) 提供了部分可访问性支持,反映了在各自UI平台上相应的DevExpress UI控件中发现的支持:

  • DevExpress ASP.NET Core Blazor
  • DevExpress WinForms
  • DevExpress ASP.NET Web Forms
  • DevExpress DevExtreme(DevExtreme UI控件在 XAF ASP. NET Core Blazor和ASP. NET Web Forms UI中使用)

XAF Blazor还附带了自己的一组UI组件/元素,这些组件/元素不支持可访问性,并且对键盘的支持有限。XAF Blazor开发人员必须通过ComponentModel.SetAttribute()方法(用于属性编辑器和操作容器)手动自定义内置HTML标记,以添加所需的ARIA属性。

官方计划在2024年为不受支持的XAF Blazor组件引入与可访问性相关的增强功能。

Blazor Grid的键盘导航也将正式发布,并在默认情况下启用。

支持选项卡MDI

Tabbed(选项卡式)MDI是在许多现代应用程序(包括您喜欢的Web浏览器或Microsoft Outlook Web)中发现的多文档界面(MDI) UI比喻,它是一个健壮的界面,可以最大限度地利用文档屏幕空间,特别是在处理多个文档、电子邮件消息等时。

默认情况下 ,XAF WinForms应用程序中启用了Tabbed(选项卡式)MDI,XAF Blazor将在v24.1中提供类似的用户体验(希望在v23.2中提供EAP)。

DevExpress XAF v24.1产品图集

DevExpress XAF v24.1产品图集

在运行时将新字段添加到网格和布局控件的自定义表单中

XAF WinForms应用程序包括一个对象模型对话框,有了它最终用户可以勾选或取消勾选数据模型字段(包括子字段和集合),这些字段还没有显示在网格或布局控件中(作为Column Chooser或Customization Form的一部分)。

与Microsoft Office应用程序非常相似,该功能允许用户完全自定义列表和详细表单(基于数据模型的结构)。同样,当开发人员需要在不重新部署的情况下处理业务需求的更改时,这很有帮助。

XAF Blazor将在v24.1中为ListView和DetailView提供类似的体验(希望在v23.2中提供EAP)。

DevExpress XAF v24.1产品图集

通知模块

XAF Blazor v24.1将支持通知模块,该木块允许您现在调度程序约会或任何自定义对象(如任务)的提醒。调度程序约会/事件的详细信息表单还允许您配置提醒,就像Microsoft Outlook中提供的提醒一样。在通知模块的帮助下,您的应用程序可以在约会/事件开始事件之前显示一个弹出窗口。

注意:Notifications(通知)模块不必绑定到Scheduler模块:它可以显示来自任何地方的通知。在后一种情况下,作为开发人员,您的目标是向通知服务提供通知项,该服务将根据需要处理它们。

DevExpress XAF v24.1产品图集

调度模块 - 共享/多资源

如果底层的Blazor Scheduler组件(DxScheduler)在v24.1中支持调度器约会/事件的多个资源,XAF Blazor调度器模块也将允许您使用共享资源。目前DxScheduler中只允许使用单个资源,当您尝试将多个资源链接到一个约会时,XAF会显示验证错误消息。

批处理/单元格编辑网格列表编辑器

XAF Blazor使用的底层Blazor网格组件(DxGrid)现在包括批处理和单元格编辑支持,目前XAF Blazor开发人员必须手动启用此选项。批编辑支持将在XAF Blazor v24.1中通过一个选项(InlineEditMode = Batch)正式发布,就像XAF WebForms一样。

自适应网格列表编辑器

XAF Blazor使用的底层Blazor Grid可以自动调整列宽度以适应实际的单元格内容(使用AutoFitColumnWidths方法),我们没有在XAF Blazor中默认启用此操作,因为不同用户组的利益冲突:

  • 一些XAF Blazor用户希望在上下文菜单中有一个Best Fit项目来应用Best Fit。
  • 其他人不喜欢这种操作,并希望使用模型编辑器以百分比(%)替代像素来指定列宽度。
  • 一些客户想要指定最小的默认列宽(120px左右),并且不想处理列宽,更愿意在必要时在运行时选择性地调整列的大小。
当DataAccessMode = Server时,从网格列表编辑器导出数据到Excel

Blazor组件v24.1将支持绑定到服务器端数据(EF Core和XPO ORM)的网格Excel导出功能,要将数据导出到Excel, DevExpress Blazor Grid将显示一个加载指示器,并从数据源下载所有记录。

简化自定义Blazor属性和列表编辑器的创建

目前XAF Blazor开发人员必须创建中间组件适配器、渲染器和其他样板类。在v24.1中官方期望减少许多流行场景的示例代码,并使创建自定义属性编辑器成为可能,就像XAF WinForms一样。

迁移到Native Blazor报表查看器

在v24.1中,XAF的Blazor报表模块将从基于JavaScript的报表查看器(DxDocumentViewer)迁移到Blazor服务器应用程序的原生报表查看器(DxReportViewer)。在这里解决了一个技术问题,因为原生报告查看器是在2021年推出的,对XAF Blazor开发人员有很多好处:

  • 支持大小模式和所有Blazor主题
  • 使用纯C#更容易定制,无需JS
  • 改进的性能:与基于JavaScript封装器的报表工具相比,原生实现减少了加载时间,提高了页面导航速度

由于篇幅有限,下期继续讲解,请持续关注查看最新产品资讯哦~


http://www.ppmy.cn/news/1373707.html

相关文章

2024年华为OD机试真题-数的分解-Java-OD统一考试(C卷)

题目描述: 给定一个正整数n,如果能够分解为m(m > 1)个连续正整数之和,请输出所有分解中,m最小的分解。 如果给定整数无法分解为连续正整数,则输出字符串"N"。 输入描述: 输入数据为一整数,范围为(1, 2^30] 输出描述: 比如输入为: 21 输出: 21=10+11 补…

html地铁跑酷

下面是一个简单的HTML代码来展示一个地铁跑酷游戏&#xff1a; <!DOCTYPE html> <html> <head><title>地铁跑酷</title><style>#player {position: absolute;top: 0;left: 0;width: 50px;height: 50px;background-color: red;}</style…

结构体(C语言进阶)(一)

目录 前言 1、结构体声明 1.1 结构体基本概念 1.2 结构体声明 1.3 特殊的结构体声明 1.3.1 匿名结构体声明 1.4 结构体自引用 1.5 结构体变量的定义和初始化 1.6 结构体内存对齐 1.7 修改默认对齐数 1.8 结构体传参 总结 前言 C语言除了有其内置类型&#xff0c;还有…

记录一下go的包管理

如何降低版本 假设go版本go 1.16运行项目&#xff0c; 查看运行报错&#xff0c;根据报错信息&#xff0c;一条一条解决 go run main.go错误: /home/server1/go/pkg/mod/google.golang.org/grpcv1.58.2/internal/buffer/unbounded.go:92:34: undefined: any类似这样的报错提醒…

【软考】单元测试

目录 1. 概念2. 测试内容2.1 说明2.2 模块接口2.3 局部数据结构2.4 重要的执行路径 3. 测试过程2.1 说明2.2 单元测试环境图2.3 驱动模块2.4 桩模块 4. 模块接口测试与局部数据结构测试的区别 1. 概念 1.单元测试也称为模块测试&#xff0c;在模块编写完成且无编译错误后就可以…

three.js如何实现简易3D机房?(四)点击事件+呼吸灯效果

接上一篇&#xff1a; three.js如何实现简易3D机房&#xff1f;&#xff08;三&#xff09;显示信息弹框/标签&#xff1a;http://t.csdnimg.cn/5W2wA 目录 八、点击事件 1.实现效果 2.获取相交点 3.呼吸灯效果 4.添加点击事件 5.问题解决 八、点击事件 1.实现效果 2.…

linux大版本之间的区别和特性

1. 描述Linux内核版本和发行版之间的关系。 Linux内核版本指的是Linux操作系统核心的特定版本&#xff0c;而Linux发行版则是基于该内核并集成了其他软件和工具的完整操作系统。具体分析如下&#xff1a; Linux内核版本&#xff1a;是操作系统的核心部分&#xff0c;它提供了…

STM32CubeMX软件界面花屏,混乱的解决方案。

添加系统环境变量:J2D_D3D 值:false 即可解决。