我们很自豪地宣布 DevExpress Universal v22.1 立即可用,这是我们屡获殊荣的面向 .NET 和 Visual Studio 开发人员的软件开发平台。v22.1 拥有众多新产品和数十个具有影响力的功能,让您可以构建自己的最佳状态,没有限制或妥协。从桌面、Web 或您的移动世界,DevExpress 开发工具可帮助您解决广泛的使用场景并提供令人惊叹的直观解决方案。
1、WinForms 控件 v22.1
新的 WXI 皮肤
我们新的 WXI 皮肤(主题)基于 Windows 11。WXI 皮肤附带五个调色板:'Freshness' (默认)、'Darkness'、 'Clearness'、 'Sharpness'和 'Calmness'。

编辑
用于文本编辑器的新掩码 API – 创建高级掩码
我们将继续改进我们的掩码引擎,以便您可以完全控制您的 WinForms 应用程序中的数据输入。v22.1 包括对我们的 WinForms 文本编辑器掩码 API 的以下更新。使用这个新 API,您可以使用自定义输入逻辑创建可重复使用的掩码。
DevExpress WinForms 文本编辑器现在附带一个EnableCustomMaskTextInput方法。此方法允许您覆盖默认的文本处理逻辑。该方法将 lambda 表达式作为参数:
C# public void EnableCustomMaskTextInput( Action<CustomTextMaskInputArgs> onTextInput, object tag = null )
onTextInput参数包括允许您获取输入字符串、操作类型、字符大小写、插入符号位置、选择等的属性 。
C#
textEdit1.Properties.EnableCustomMaskTextInput(args => {
// Process user input
});使用它的“SetResult”方法,您可以指定实际的编辑器文本、选择锚点和光标位置。要取消用户输入,只需调用“取消”方法。
C#
using System.Globalization;
using System.Globalization.CultureInfo;
textEdit1.Properties.EnableCustomMaskTextInput(args => {
if(args.IsCanceled)
return;
// Converts user input to Title Case
var titleCaseResult = InvariantCulture.TextInfo.ToTitleCase(args.ResultEditText);
args.SetResult(titleCaseResult, args.ResultCursorPosition, args.ResultSelectionAnchor);
});我们还使您能够将自定义掩码应用于多个文本编辑器。以下文档描述了如何在您的 WinForms 应用程序中注册自定义掩码。注册自定义掩码后,即可在我们的 Visual Studio 掩码编辑器中使用它。

新的 DirectX 表单
我们新的 DirectX 表单支持原生 DirectX 渲染和 HTML & CSS 标记。DirectX 表单会自动为所有支持 DirectX 渲染的 DevExpress UI 控件激活 DirectX 模式。有了这项新功能,您不再需要为每个单独的控件激活 DirectX 渲染。

数据网格
新过滤器 - InRange 和 InDateRange
我们向 WinForms 数据网格、树列表、透视网格、垂直网格和过滤器控件添加了两个新的范围过滤器:
InRange(value, from, to) 过滤器等价于 'from <= value && value < to'
InDateRange(dateValue, from, to) 过滤器等价于 'GetDate(from) <= dateValue && dateValue < AddDays(GetDate(to), 1)'
数据过滤 - 在自定义函数中格式化操作数值
我们添加了一个新的“ICustomFunctionDisplayAttributesEx”接口。使用它的 'GetOperandDisplayValue' 方法来格式化操作数的值或为其提供自定义显示文本。
C#
public string GetOperandDisplayValue(object value, string displayText) {
return string.DisplayFormat("{0} days", value?.ToString());
}过滤器控制 - 新事件和行为
新活动包括:
CustomValueEditor - 允许您分配自定义编辑器来显示和编辑操作数。
CustomValueEditorForEditing - 允许您指定用于编辑操作数的编辑器。
ValueEditorShown - 在用于编辑值操作数的编辑器被调用后触发,并允许您自定义编辑器设置。
BeforeShowValueEditor事件现在已过时 。
重大变化:
T1083237 - 用于在过滤器控件中创建和编辑过滤器表达式的文本编辑器现在接受与相应数据字段类型完全匹配的值。
制图
图表设计器 - .NET 5 和 .NET 6 支持
Visual Studio IDE 图表设计器现在与 .NET 5 和 .NET 6 完全兼容。
WPF 控件 v22.1
NET 5 & NET 6
.NET 6 工具提示可访问性
DevExpress WPF 控件(.NET 6 应用程序)显示符合 WCAG 2.1 标准(Web Content Accessibility Guidelines 2.1)的工具提示。
用户现在可以通过鼠标悬停工具提示。
当父元素获得键盘焦点时,工具提示被激活。
按下 Ctrl+Shift+F10 组合键后会立即激活工具提示。
工具提示保持可见,直到另一个元素悬停/聚焦或按下 Ctrl 键。
数据网格
项目源向导
我们的WPF 数据网格控件现在附带 Visual Studio IDE 的项目源向导。使用它在设计时将网格快速绑定到数据源。您可以选择以下绑定模式:
简单绑定
无限异步源
分页异步源
即时反馈模式
服务器模式
Items Source Wizard 还可以为 CRUD 操作生成 MVVM 代码。它会检测您的视图模型并根据需要执行创建、删除和刷新命令。
C#
public class ViewModel : ViewModelBase {
//...
[Command]
public void ValidateRow(RowValidationArgs args) {
var item = (Customer)args.Item;
if(args.IsNewItem)
_Context.Customers.Add(item);
_Context.SaveChanges();
}
[Command]
public void ValidateRowDeletion(ValidateRowDeletionArgs args) {
var item = (Customer)args.Items.Single();
_Context.Customers.Remove(item);
_Context.SaveChanges();
}
[Command]
public void DataSourceRefresh(DataSourceRefreshArgs args) {
_ItemsSource = null;
_Context = null;
RaisePropertyChanged(nameof(ItemsSource));
}
}要打开项目源向导,请单击网格智能标记中的绑定到数据源命令。

.NET/.NET Core 的功能浏览器
通过此更新,您可以使用功能浏览器在您的 .NET 5 和 .NET 6 项目中自定义我们的 WPF 数据网格控件。
特征浏览器使网格定制变得更快、更容易。使用其直观的 UI/UX 和集成搜索来定位所需的 API。
高级功能包括:
查看定制
列和波段管理
数据整形(排序、分组、过滤)
数据聚合(总和组摘要)
数据绑定
用户界面定制
数据编辑和验证
选择和导航
主从配置
打印和数据导出,以及更多...
Windows 11 浅色主题
我们的新灯光主题基于 Windows 11。

热图
单元格选择
您现在可以选择热图单元格。WPF Heatmap控件支持单个和多个单元格选择。使用SelectionMode属性指定选择模式。要获取选定的单元格,请使用“SelectedItems”属性。

我们还添加了SelectedItemsChanging和SelectedItemsChanged事件。处理这些事件以响应选择更改。
WinUI控件 v22.1
新功能区控制
我们新的功能区控件允许您在 WinUI 应用程序中重现 Microsoft Office 最终用户体验。WinUI 功能区附带完整的命令集,包括按钮、下拉按钮、复选按钮、切换开关和子菜单。您可以创建自定义项目/命令、分组命令并将它们排列到选项卡/类别中。
我们的功能区控件针对速度和最佳用户体验进行了优化。凭借其快速加载、响应式 UI 和超快速渲染,您的 Windows 应用程序将始终在竞争中脱颖而出。

数据网格
Excel 启发式过滤
我们新的受 Excel 启发的列过滤器选项允许用户搜索不同的值、从分层下拉菜单中选择值或创建/应用不同的过滤条件。新的 API 允许您根据需要自定义过滤器项目。

剪贴板操作
用户现在可以复制/粘贴选定的行或单元格以及格式条件。我们的 WinUI 数据网格支持以下标准快捷方式:
Ctrl+C / Ctrl+插入
Ctrl+V / Shift+插入
使用多种格式(CSV、XLS、HTML、RTF、TXT)将单元格值复制到剪贴板。这确保了与接受剪贴板输入的各种 Windows 应用程序的兼容性。
我们的 WinUI 数据网格还支持多种粘贴模式 ( PasteMode )。您可以根据需要追加行或更新现有行。
新 API 包括以下内容:
AllowCopyToClipboard - 启用/禁用复制和粘贴操作。
CopyToClipboard - 将选定的单元格或行复制到剪贴板。
PasteFromClipboard - 从剪贴板粘贴选定的单元格或行。
CopyColumnHeadersToClipboard - 在复制的文本中包含列标题。
ClipboardRowCopying - 允许您格式化选定的单元格或阻止用户将选定的单元格复制到剪贴板。
ClipboardRowPasting - 允许您在从剪贴板粘贴文本之前更改格式设置。

Blazor UI 组件
新手风琴
我们新的 Blazor Accordion 组件允许您在 Blazor 支持的 Web 应用程序中解决与导航相关的广泛使用场景。您可以创建具有无限嵌套导航元素的高级分层导航菜单。
集成功能包括:
数据绑定支持
内置搜索面板和过滤支持
项目组
多种展开/折叠模式
无限数量的嵌套级别
自定义项目和组内容

新的弹出窗口
使用我们新的 Blazor Flyout 组件(上下文弹出 UI 元素)在 Blazor 支持的 Web 应用程序中显示提示、警告或业务特定信息。您可以将 Flyout 放置在任何网页 UI 元素的顶部、底部、左侧或右侧。

服务器模式数据源
DevExpress Blazor Grid 现在支持基于 Blazor 服务器的应用程序的服务器模式数据源。此数据源旨在最大限度地提高针对大型数据集合的性能。
在服务器模式下,我们的 Blazor 数据网格按需加载一小部分数据。这有助于减少内存消耗并提高整体应用程序性能。
所有数据整形操作(如分组和排序)都从 Blazor 应用程序本身委托给底层服务(如 EF Core、XPO 等)。这些服务更有效地处理数据整形操作,并有助于显着提升性能。

DevExtreme JavaScript 组件 v22.1
数据网格
导出为 PDF
v22.1 标志着该功能正式发布。我们的导出到 PDF API包括以下选项/功能:
WISIWYG 导出为 PDF
适合页面
多页导出
文字换行
进度指示
单元格内容、格式和外观自定义选项
RTL 支持

HTML/Markdown 编辑器
图片上传
我们的 HTML 编辑器附带图像上传支持。您可以将图像拖放到编辑器表面或使用上传表单(从文件系统中选择文件或指定 URL)。您还可以在编辑器中调整图像大小。

使用fileUploadMode属性指定是使用 base64 格式将图像上传到服务器还是客户端。imageUpload.tabs属性指定对话框中相应选项卡的可见性。使用此属性可显示“来自这台计算机”、“来自网络”或两个选项卡。
调度器
全天面板模式
我们添加了一个新的allDayPanelMode设置,允许您指定要在全天面板中显示的约会。可用选项包括:
hidden - 调度程序在时间表中呈现全天约会。全天面板已隐藏。
allDay - 全天面板仅显示明确的全天约会。隐含的全天约会显示在时间表中。
all - 全天面板显示显式和隐式全天约会。

用户界面小部件
在堆栈中显示多个 Toast
通过此更新,toast 不再相互重叠。我们添加了两个新方法:notify(message, stack)和notify(options, stack)来帮助显示一个在另一个下的 toast。使用hideToasts方法隐藏所有 toast 消息。

可调整大小的 UI 增强功能
我们的 Resizable 组件包括两个新选项:
keepAspectRatio - 指定当用户拖动其角手柄时是否按比例调整组件内容的大小。
area - 指定一个边界容器。用户不能在指定容器的边界之外调整组件的大小。

ASP.NET 控件 v22.1
新的 Office 365 深色主题

GridView、TreeList、垂直网格
多个单元格选择
我们的 ASP.NET GridView、TreeList、Vertical Grid 控件现在支持多个单元格选择。要启用此选项,请将SettingsEditing.Mode属性设置为“Batch”并打开BatchEditSettings.EnableMultipleCellSelection选项。
最终用户可以使用鼠标或键盘(Shift/Ctrl + 箭头键)选择单元格。
新的客户端 API 包括:
设置单元格选择
获取选定单元格
BatchCellSelectionChanging
ASP.NET Core 控件 v22.1
甘特图
PDF 导出的自定义字体
我们向ExportToPdf方法 添加了一个新字体选项,以便您可以为导出的 PDF 文档指定自定义字体。
规模定制
我们添加了一个新的ScaleCellPrepared事件来帮助自定义缩放单元的外观。您现在可以指定颜色、样式和文本设置。

货币会计样式 - 格式化负值
我们添加了一个新的“useCurrencyAccountingStyle”选项(默认启用)。此选项指定是否将系统设置用于负值(货币会计格式)。否则,将显示负值并带有减号。
ASP.NET 引导控件 v22.1
GridView 和 CardView
数值范围过滤器
我们在列过滤器中合并了数值范围过滤器。要激活此选项,请将SettingsHeaderFilter.Mode属性设置为“NumericRangePicker”。

.NET 报告 v22.1
所有平台
在报表设计器中自定义参数面板
您现在可以在报表参数编辑器中自定义参数面板的布局(在 Visual Studio IDE 和我们的最终用户报表设计器中,适用于所有支持的开发平台)。是的,您不再需要编写任何代码。您可以对参数进行分组、更改编辑器标签的位置、设置条件以显示/隐藏单个参数等。


更多更新亮点介绍,请联系我们获取

渝公网安备50010702505508