我们非常自豪地宣布,面向.NET和Visual Studio开发人员的获奖软件开发平台DevExpress Universal v23.2发布啦。v23.2拥有众多新产品和数十种极具影响力的功能,可以让您无限制、无折衷地构建自己的最佳产品。无论是桌面、网络还是移动世界,DevExpress Universal 都能让您提供直观的解决方案,全面应对各种使用场景。
探索我们的最新功能(v23.2)(本文解析内容标记:******)
常规功能
支持 .NET 8
非 Windows 开发
用户界面本地化
支持 NuGet v3
剪贴板访问策略
Windows 桌面控件
WinForms ******
WPF
VCL
WEB 控件
Angular、React、Vue、jQuery
Blazor
ASP.NET Core
企业和服务器工具
报告
商业智能仪表板
办公文件 API
移动组件
.net maui(免费)
框架与生产力
XAF - 跨平台 .NET 应用程序用户界面
.NET 应用程序安全与 Web API(免费)
CodeRush (免费)
------------------------------------------------------------------------------------------------------------------
WinForms 控件 v23.2
辅助功能与用户界面自动化
数据网格
编辑器
文件对话框
字体图标图像
甘特图
支持 HTML 和 CSS
MVVM 框架
.NET 8 数据注释属性
功能区
富文本编辑器
电子表格
树形列表
垂直网格
设计时增强功能
用户界面模板
辅助功能和用户界面自动化
我们现在支持以下 WinForms 控件的辅助工具和用户界面自动化模式:
图表
打印预览(文档查看器)
图表
电子表格
富文本编辑器
甘特图
Flyout 对话框
步骤进度条
是的,在我们的 WinForms HTML & CSS 实现中,我们还提供了与可访问性相关的功能。这些功能包括:
ARIA 属性(ria-标签、ria-描述、角色)
角色(按钮、复选框、网格单元、链接、无、菜单项、菜单项复选框、菜单项比例、单选、分隔符、旋转按钮)
图像和输入元素的 Alt 属性
辅助技术(屏幕阅读器)兼容性增强
我们增强了以下用户界面控件的辅助功能树,以确保辅助技术获得必要的信息,从而符合 WCAG 中列出的辅助功能指南:
过滤器控件(FilterControl)
看板(Kanban)
范围跟踪栏(RangeTrackBar)
面包屑编辑器(BreadCrumbEdit)
日历控件(CalendarControl)
颜色编辑器(ColorEdit)和颜色弹出编辑器(ColorPopupEdit)
内置最终用户表单(例如,列过滤器弹出式窗口、摘要自定义表单等)
辅助技术(如屏幕阅读器)现在会收到以下更改/修改的通知,并能正确发布:
卡片视图/组合框中的展开/折叠状态
进度条控件值
AlertControl 消息
网格视图中的选择
数据编辑器中的验证错误
TimeSpanEdit、DateTimeOffsetEdit 和 DateEdit(触摸模式)中的值
文档选择器(DocumentManager)中的项目
ImageComboBoxEdit 中的项目
面包屑编辑器中的路径选择
辅助技术(屏幕阅读器)现在可以访问以下信息:
布局项标签
TreeList 和 Accordion 控件中的节点嵌套级别和树信息
测量值
与控件关联的 LabelControl 中的可访问名称
与 ButtonBase 关联的工具提示中的可访问名称
无障碍键盘导航
数据网格和树形列表中的自定义窗口
WinForms 数据网格和 WinForms TreeList 控件中的自定义窗口现在完全支持键盘导航。用户可以使用箭头键和快捷键在数据字段和 UI 元素中移动并与之交互。

我们添加了新的 API,旨在显示/隐藏 CardView 中的 "自定义窗口"。新方法包括
ShowCustomization()
ShowCustomization(Point point)
HideCustomization()
主从模式下的标签导航
我们在主-明细网格中的标签页之间添加了流畅的键盘导航支持。用户只需按下 Ctrl + NumKey 快捷键,就能在详细信息选项卡之间轻松切换。新的 API 包括:
SelectNextDetailTab
SelectPrevDetailTab
SelectDetailTab
功能区、后台视图、最近控件
为了帮助提高可访问性,我们在 WinForms 功能区用户界面、后台视图和最近控件中实施了键盘导航支持(灵感来自 MS Office)。改进后的键盘导航功能可以让残疾用户、视力障碍用户以及任何喜欢使用键盘快捷键的用户更轻松地浏览桌面应用程序并与之交互。
使用 Alt 键激活键盘导航。使用箭头键导航。使用 Enter 和 Esc 键打开/关闭后台视图、子菜单和功能区图库。

范围轨迹栏
键盘用户现在可以使用导航键与轨迹栏滑块进行交互:
向上或向右箭头 - 将滑块向右(垂直方向上)移动一个小值。
向下或向左箭头 - 将滑块向左(垂直方向的底部)移动一个小数值。
PageUp - 将滑块向右(垂直方向的顶部)移动较大数值。
PageDown - 将滑块向左(垂直方向的底部)移动一个较大的值。
主页 - 将滑块移动到最小值。
结束 - 将滑块移动到最大值。
滤镜编辑器
现在,您可以使用键盘与筛选器编辑器树进行交互(例如,浏览项目、选择筛选器值、创建筛选器/节点等)。
条件格式化管理器
我们删除了 "主-详细 "视图中无法访问的区域,并改进了键盘导航功能。
卡片视图列自定义按钮
现在,您可以在 "卡片视图 "中聚焦打开 "自定义表单 "的按钮。
面包屑编辑器
我们改进了 WinForms 面包屑编辑器中的键盘导航(受文件资源管理器 Bradcrumb 的启发)。键盘用户现在可以使用导航键与编辑器进行交互:
向左或向右箭头 - 在路径段之间移动焦点。
向上或向下箭头--打开路径段子菜单。
回车键或空格键 - 激活选定的路径段。
Shift + F10 - 打开面包屑编辑器的上下文菜单。
编辑器弹出按钮
用户现在可以聚焦编辑器下拉菜单(弹出式)中显示的默认按钮。
表达式编辑器
用户现在可以使用 Ctrl+Tab 快捷键摆脱表达式编辑区中的 "焦点陷阱"。
数据网格
主从模式下的多级筛选/搜索
现在,您可以在网格的搜索面板中输入搜索表达式,以便在主视图和展开的详细视图中即时过滤数据并高亮显示结果。

使用 AllowFindInExpandedDetails 属性启用新的搜索选项。
C#
gridView.OptionsFind.AllowFindInExpandedDetails = DefaultBoolean.True;
在 GridView 中使用拖放功能重新排列数据行
启用拖放功能后,用户可以将数据行移动到另一个数据网格控件或重新排列行(在同一数据网格中)。使用 v23.2,重新排列数据行的功能开箱即用。您不再需要处理与拖动相关的事件。
用户可以选择多个数据行并将它们移动到不同的位置,或将数据行从一组移动到另一组。是的,用户可以移动排序 GridView 中的数据行。GridView 会自动更新已排序列的单元格值。

新 API
使用 GridView.OptionsDragDrop 属性可自定义以下拖放设置:
AllowDataReordering - 允许用户在 GridView 中对数据行重新排序。
AllowSortedDataDragDrop - 如果应用了数据排序,允许用户在 GridView 中对数据行重新排序。
规范
支持的视图: 网格视图
支持数据源: IList, DataTable, DataView
根据特定条件选择行
我们的 WinForms 数据网格控件现在包含一个新的 SelectionChanging 事件。处理该事件可防止用户根据特定条件选择数据行。
保存-恢复布局增强功能
我们添加了新的属性序列化(PropertySerializing)和属性解序列化(PropertyDeserializing)事件,以便对布局保存/还原操作进行精细控制。
编辑器
WXI 皮肤中的圆形进度条
当使用 WXI 和 WXI Compact 皮肤(受 Windows 11 启发)时,WinForms 进度条和侯选框进度条控件将显示圆角。

在文本编辑器中显示/隐藏自动完成弹出窗口
我们的 WinForms 文本编辑器可显示带有建议(完成单词)的弹出窗口。v23.2 包含在必要时显示/隐藏自动完成弹出窗口的新方法。例如,您可以在用户按下特定按键或组合键时显示带有建议的弹出窗口。
新的 API 包括:
ShowAutoCompletePopup
CloseAutoCompletePopup
在文本编辑器中禁用快捷方式
现在,您可以使用 ShortcutsEnabled 属性来指定基于 DevExpress TextEdit 的编辑器是否必须接受标准键盘快捷键(Ctrl+C、Ctrl+X 等)。
文件对话框
通配符
现在,您可以在 WinForms 打开文件和保存文件对话框中使用 * 和 ? 通配符过滤/搜索文件。

字体图标图像
Windows 10/11 包含数百个字体图标(Windows 10 中的 Segoe MDL2 Assets 和 Windows 11 字体中的 Segoe Fluent Icons)。现在,您可以使用我们的图像选择器将字体图标图像分配给单个 UI 控件/元素,或将其添加到我们的 SvgImageCollection 中。是的,字体图标图像支持皮肤颜色。

如果您在 Windows 11 上运行由 DevExpress 支持的应用程序,它将使用 "Segoe Fluent Icons "字体中的图标。如果在 Windows 10 上运行相同的应用程序,它将使用 "Segoe MDL2 Assets "字体集(自动)中的图标。

我们还新增了 WindowsFormsSettings.FontIconsStyle 设置,用于指定默认图标字体:
C#
static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
WindowsFormsSettings.FontIconsStyle = FontIconsStyle.Win10;
Application.Run(new Form1());
}
甘特图
中间按钮自动滚动
我们的 WinForms 甘特图控件现在支持开箱即用的自动滚动功能。有了这个选项,您的用户可以按下鼠标中键,然后移动鼠标垂直或水平滚动内容。

HTML 和 CSS 支持
代用对
我们改进了布局和内容选择,其中包括由两个代理(当表情符号代码由两个 Unicode 代码点表示时 🐼 )组成的表情符号。

MVVM 框架
命令绑定(在用户界面内部调用方法)
我们实施了以下 API(适用于所有 WinForms 组件),以提高与微软新实施(在 Windows 窗体应用程序中使用命令绑定以实现跨平台)的兼容性:
Command
CommandParameter
CommandChanged
CommandCanExecuteChanged
我们还增强了数据布局控件中的用户界面生成机制。现在,您可以根据视图模型命令自动生成按钮。
.NET 8 数据注释属性
我们支持 .NET 8 中引入的新数据验证属性(包括 RangeAttribute 和 RequiredAttribute 类型中的新属性)。您可以使用这些属性来配置在数据绑定控件(GridControl、TreeList、VGridControl、PropertyGridControl 和 Data Layout Control)中生成的元素。
Ribbon
在功能区自定义表单中自定义 QAT 命令
我们扩展了 Ribbon UI 的运行时自定义功能。现在,用户可以在功能区自定义窗口中自定义快速访问工具栏(QAT)命令。

我们添加了一个新的 AllowToolbarCustomization 选项。启用该选项后,用户可以在功能区自定义窗口中选择 "快速访问工具栏 "项目,并根据需要添加/删除/排列 QAT 命令。
C#
ribbonControl1.AllowCustomization = true;
ribbonControl1.OptionsCustomizationForm.AllowToolbarCustomization = true;
富文本编辑器
内容控件
WinForms 富文本编辑器现在可以显示、打印和导出(PDF)包含以下内容控件的文档:
富文本
纯文本
组合框
下拉列表
日期选择器
复选框
图片
重复部分
我们还添加了一个新的 Document.ContentControls 属性,允许您在代码中获取和管理内容控件。

受保护的部分
在 "填写表格 "保护模式下,WinForms 富文本编辑器会锁定文档,只允许用户填写可填写表格(如果有)。在 v23.2 中,我们添加了一个新的 Section.ProtectedForForms 设置,允许您解锁受保护文档中的特定部分。
您还可以在功能区用户界面中解锁特定部分。转到 审阅 > 保护文档。

支持 SVG
WinForms 富文本编辑器现在可以打开、保存、导出(PDF)和编辑带有 SVG 图形的文档。您还可以根据需要在文档中调整 SVG 图像的大小、移动和对齐。
Spreadsheet
表格控件
v23.2 随附受 Excel 启发的表单控件。

我们的 WinForms 电子表格控件支持以下表单控件:
按钮
复选框
组合框
组框
标签
列表框
单选按钮
旋转按钮
滚动条
您可以使用上述表单控件打印和导出(PDF)工作表。我们还添加了一个新的 Worksheet.FormControls 属性。使用该属性可在代码中访问和管理表单控件。
图表增强功能
WinForms 电子表格控件现在可以显示、打印和导出(PDF)以下图表元素:
误差条
旋转轴标签
RTF 轴标题
我们还添加了新的应用程序接口,以便从图表模板文件(.CRTX)中导入和应用图表设置。AddFromTemplate 方法可从模板创建图表。LoadTemplate 方法将模板设置应用于现有图表。

将单元格内容导出为 HTML 和 RTF
现在,您可以获取 RTF 或 HTML 格式的单元格内容。新的 API 包括
GetRtfContent
GetHtmlContent
支持 SVG
WinForms 电子表格控件现在可以打开、保存、导出(PDF)和编辑带有 SVG 图形的工作表/工作簿。您还可以根据需要在文档中移动、对齐和调整 SVG 图像的大小。
TreeList
根据特定条件选择节点
我们的 WinForms TreeList 控件带有一个新的 TreeList.SelectionChanging 事件。处理该事件可防止用户根据特定条件选择节点。
保存-恢复布局增强功能
TreeList 控件包含以下新选项:
存储所有列选项(StoreAllColumnsOptions)- 指定保存或还原布局时是否在布局中包含所有列设置。
存储列布局(StoreColumnsLayout)- 指定保存或恢复布局时是否在布局中包含列/带宽度和可见性信息。
存储数据设置(StoreDataSettings)- 指定保存或恢复布局时,布局中是否包含排序、筛选和摘要信息。
存储格式规则(StoreFormatRules)- 指定保存或恢复布局时,是否在布局中包含条件格式化信息(如果已应用)。
存储视觉选项(StoreVisualOptions)- 指定保存或还原布局时是否在布局中包含 TreeList.FindPanelVisible 和 TreeList.OptionsView 设置。
我们还添加了新的属性序列化(PropertySerializing)和属性解序列化(PropertyDeserializing)事件,以便对布局保存/还原操作进行精细控制。我们的 WinForms 数据网格和垂直网格控件中也有这些事件。
中间按钮自动滚动
TreeList 控件具有自动滚动功能。有了这个选项,用户可以按下鼠标中键,然后移动鼠标垂直或水平滚动内容。
Collection 聚合函数
您可能知道,我们的 WinForms 数据网格允许您使用以下集合聚合函数创建过滤器: 计数、最小值、最大值、平均值、总和、存在。现在,您可以指定 TreeListOptionsFilter.FilterEditorAggregateEditing 属性,并使用这些函数根据集合属性过滤 WinForms TreeList 数据。
C#
treeList1.OptionsFilter.FilterEditorAggregateEditing = FilterControlAllowAggregateEditing.Aggregate;
垂直网格
高级自定义表单
我们改进了 WinForms 垂直网格控件中的行自定义表单。自定义表单现在可以显示所有行/类别,并允许用户使用复选框显示/隐藏这些元素。该表单集成了搜索框和排序按钮。
激活 UseAdvancedCustomizationForm 选项,即可在 Windows 窗体应用程序中使用高级自定义窗体。

保存-还原布局增强功能
我们添加了新的属性序列化(PropertySerializing)和属性解序列化(PropertyDeserializing)事件,以便对布局保存/还原操作进行精细控制。
设计时增强功能
步骤进度条--在.NET设计器中选择和自定义项目
步骤进度条的自定义现在比以往任何时候都要简单。您可以毫不费力地直接在设计画布上选择一个项目,调用其智能标签菜单,并根据需要自定义常规设置。

后台视图和 RecentItemControl - 设计时自定义增强功能
现在,您可以在 WinForms BackstageView 或 RecentItemControl 中选择一个项目,然后按 Escape 键来选择其直接父级,直至到达顶层父级(例如,窗体或用户控件)。
设计时使用贝塞尔皮肤
我们更新了 Visual Studio 设计器、向导和自定义对话框。这些设计时元素现在都采用了我们的轻量级矢量皮肤("The Bezier")。
用户界面模板
日期范围选择器
我们在 WinFoms 用户界面模板中添加了日期范围选择器。该模板基于 WinForms DateEdit 控件。顾名思义,该控件允许用户选择日期范围。

渝公网安备50010702505508