DevExpress WinForms Controls v22.1 beta版来袭,上车
DevExpress v22.1 beta版本已经上线,让我们一起先睹为快,看看将会有哪些内容更新?
新的WXI皮肤
我们的新WXI皮肤(主题)基于Windows 11。WXI皮肤附带五种调色板:“新鲜度”(默认),“黑暗”,“清晰度”,“清晰度”和“平静度”。
阅读博客文章
编辑控件
用于文本编辑器的新掩码 API – 创建高级掩码
我们将继续优化我们的掩码引擎,以便你可以完全控制 WinForms 应用中的数据输入。v22.1 包括对 WinForms 文本编辑器掩码 API 的以下更新。借助此新 API,您可以使用自定义输入逻辑创建可重用的掩码。
DevExpressWinForms 文本编辑器现在附带一个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 Casevar titleCaseResult = InvariantCulture.TextInfo.ToTitleCase(args.ResultEditText);args.SetResult(titleCaseResult, args.ResultCursorPosition, args.ResultSelectionAnchor);
});
我们还使您能够将自定义蒙版应用于多个文本编辑器。以下文档描述如何注册自定义掩码在您的 WinForms 应用程序中。注册自定义掩码后,即可在我们的 Visual Studio 版编辑器中使用。
新的 DirectX 窗体
我们新的DirectX Form支持本机DirectX渲染和HTML和CSS标记。DirectX 窗体会自动为支持 DirectX 呈现的所有 DevExpress UI 控件激活 DirectX 模式。借助此新功能,您不再需要为每个单独的控件激活 DirectX 呈现。
阅读博客文章
HTML CSS 模板
ListBox, ComboxBox, Alert - HTML & CSS Markup Support
v22.1 引入了对 WinForms ListBox、ComboBox 和 Alert 控件的 HTML 和 CSS 标记支持。使用模板属性来定义可应用于项的 HTML-CSS 模板的集合。阅读以下博客文章:
- WinForms HTML 和 CSS 模板 — 新控件和功能
- WinForms HTML & CSS Templates — Alert Control
处理以下事件以响应针对 HTML UI 元素的鼠标操作:
- HtmlElementMouseOver
- HtmlElementMouseMove
- HtmlElementMouseOut
- HtmlElementMouseClick
- HtmlElementMouseDown
- HtmlElementMouseUp
HTML Content Control - 存储库项目的输入标记
您现在可以换行存储库项目 repository items在<input>标记中。
“name”属性按名称引用存储库项目。“value”属性指定数据字段名称。
<div class='default-avatar-container' hidden='${HasPhoto}'><input class='default-avatar' name='pictureEdit' value='${Photo}' /><a class='choose-photo' id='choose_Photo'>Choose a photo</a>
</div>
<div class='default-avatar-container avatar-container' hidden='${IsDefaultPhoto}'><input class='avatar' name='pictureEdit' value='${Photo}' />
</div>
<div class='input-box'><input class='input' name='emailEdit' value='${Email}'/>
</div>
我们的模板设计器现在包括“就地编辑器存储库”选项卡。打开此选项卡以创建要在 HTML 模板中引用的存储库项目。
HTML 模板设计器增强功能
我们的 HTML 模板设计器现在附带以下选项:
- 区域折叠
- 缩进参考线
- 行号
TileView - 项目自动高度
我们添加了一个新的TileViewOptionsHtmlTemplate.ItemAutoHeight选项支持由我们的渲染的磁贴的自动高度模式基于 HTML 和 CSS 的模板.在自动高度模式下,磁贴垂直拉伸以完全显示内容。
新的 CSS 属性
我们支持以下 CSS 属性:
- 溢出包装
- 空白
- 背景图像
- 背景位置
- 背景大小
- 背景重复
DataGrid
新筛选器 - InRange 和 InDateRange
我们向 WinForms 数据网格、树列表、透视网格、垂直网格和筛选器控件添加了两个新的范围筛选器:
- InRange(value, from, to) filter 等效于 'from <= value && value < to'
- InDateRange(dateValue, from, to) filter 等效于 'GetDate(from) <= dateValue && dateValue < AddDays(GetDate(to), 1)'
数据筛选 - 在自定义函数中设置操作数值的格式
我们添加了一个新的“ICustomFunctionDisplayAttributesEx”接口。使用其'GetOperandDisplayValue'方法设置操作数值的格式或为其提供自定义显示文本。
public string GetOperandDisplayValue(object value, string displayText) {return string.DisplayFormat("{0} days", value?.ToString());
}
筛选器控件 - 新事件和行为
新事件包括:
- 自定义值编辑器- 允许您指定自定义编辑器来显示和编辑操作数。
- 自定义值编辑器进行编辑- 允许您指定用于编辑操作数的编辑器。
- ValueEditorShown- 在调用用于编辑值操作数的编辑器后触发,并允许您自定义编辑器设置。
这展前价值编辑事件现已过时。
重大变更:
T1083237- 用于在筛选器控件中创建和编辑筛选器表达式的文本编辑器现在接受与相应数据字段类型完全匹配的值。
Charting
图表设计器 - .NET 5 和 .NET 6 支持
Visual Studio IDE Chart Designer 现在与 .NET 5 和 .NET 6 完全兼容。
Dialogs
快速访问
我们的 WinForms 对话框现在显示“快速访问”,您可以在其中看到您最常浏览的文件夹的列表。
环境变量
现在,您可以在地址栏中键入环境变量(例如 %WINDIR%,%TEMP%),并将其扩展为其完整路径。
多文件夹选择
我们的文件夹浏览器对话框现在允许用户选择多个文件夹。设置其多选属性为“true”以启用此选项。
Heatmap
单元格选择
您现在可以选择热图单元格。“热图”控件支持单单元格和多单元格选择。使用选择模式属性以指定选择模式。若要获取所选单元格,请使用“所选项目”属性。
我们还添加了一个选定项更改和选定项已更改事件。处理这些事件以响应选择更改。
MapControl
搜索面板自定义
您现在可以以相对单位指定搜索面板宽度/高度。此增强功能可在具有不同 DPI 缩放比例的显示器上保持一致的外观。
文档
重大变更:
T1068618- ShowSearchPanel 属性现已过时。
支持 PerMonitorV2 Scaling
我们解决了与混合模式 DPI 缩放相关的问题。我们更改了指定地图元素大小的度量单位。以下属性现在测量在DIP(与设备无关的像素).此改进允许地图元素在具有不同 DPI 缩放比例的显示器上保持其物理大小。
- NavigationPanelOptions.Height
- MapOverlay.Size
- MapOverlay.Padding
- MapOverlay.Margin
- 描边宽度对于 MapLine, MapPolyline, MapSpline, MapShape
以下地图元素的大小现在以 DIP 为单位进行测量:
- 小地图
- 图例标记和文本
重大变更:
T1069120- 某些属性现在以 DIP 为单位进行测量
PDF 查看器
文档导航增强功能
新转到书签和目的地方法允许您导航到指定的书签或命名目标。
Pivot Grid
服务器模式和 OLAP 模式下的统一字段绑定 API
v22.1 更新数据绑定接口在服务器和 OLAP 模式下均受支持。
在 OLAP 模式下,您现在可以将数据绑定属性到数据源列绑定对象(将字段绑定到数据)。若要指定 OLAP 表达式,请将“数据绑定”属性设置为OlapExpressionBinding对象。
在服务器模式下,使用数据源列绑定和表达式数据绑定分别是对象。
此更新还包括对以下条件运算符的支持:
- IsTotal - 确定是否正在计算总汇总值。
- FirstValue - 返回用于计算聚合值的第一行记录。
文档
富文本编辑器(Rich Text Editor)
水印
我们添加了用户在文档中合并水印的功能。为此,我们向功能区命令栏添加了两个新命令。
“水印”命令打开“水印”对话框,并允许用户创建和配置水印。“删除水印”命令从文档中删除所有水印。用户可以对整个文档或特定部分进行水印。
文档
电子表格(Spreadsheet)
收缩以适合
我们的 WinForms 电子表格控件现在支持收缩以适合对齐选项。启用后,此选项会自动减小文本大小以适合单元格。
增强的对话表单
我们重新设计了电子表格控件中使用的所有对话框。电子表格对话框现在使用我们的WinForms 布局控件.此增强功能使我们能够增强高 DPI 渲染质量,并在具有自定义本地化和字体的应用中保持表单缩放。
高 DPI 支持
支持 PerMonitorV2 Scaling
我们改进了以下 WinForms 控件,以保持混合模式 DPI 缩放:
- 商业智能仪表板
- 地图控制
- PDF 查看器
- 富文本编辑器
- 电子表格
- 旭日
- 树状图
- 报告 - 文档查看器
用户界面自动化(UI Automation)
启用新的静态WindowsFormsSettings.UseUIAutomation选项以使用 Microsoft UI 自动化,该选项提供对桌面上大多数用户界面 (UI) 元素的编程访问,并允许自动测试脚本与 UI 交互。
我们在数据网格、TreeList、数据编辑器、功能区、条形图、折叠框、手风琴和停靠窗口中支持 UI 自动化模式,如网格、停靠、滚动、选择、表、展开/折叠等许多其他模式。
了解有关 Microsoft UI Automation 的更多信息
可及性(Accessibility)
自定义所有 DevExpress 控件的辅助功能信息
我们引入了一个新的静态“DXAccessible.QueryAccessibleInfo”事件,该事件用作单个入口点,用于自定义 WinForms 应用程序中所有 DevExpress 控件的辅助功能信息。如果在应用中使用来自多个程序集的控件(例如,数据网格、编辑器、图表、数据透视网格),则将为每个控件触发 QueryAccessibleInfo 事件。
- C#
using System.Windows.Forms;
using DevExpress.Accessibility;
//...
public XtraForm1() {InitializeComponent();DXAccessible.QueryAccessibleInfo += OnQueryAccessibleInfo;
}
void OnQueryAccessibleInfo(object sender, object sender, DXAccessible.QueryAccessibleInfoEventArgs e) {if(e.OwnerControl == gridControl1)if(e.Role == AccessibleRole.Row)e.Name = "my row text";
}
注意:“QueryAccessibleInfo”事件是一个弱事件。应将其处理程序声明为窗体类中的方法。否则,可能会发生垃圾回收。
常见增强功能
我们将'AccessibleName'、'AccessibleRole'、'AccessibleDescription'属性添加到以下类中:
- 导航栏组
- NavBarItem
- 最近项目库
- 后台查看项库
- 磁贴项
- 行属性
- 基本文档
我们还为以下组件引入了“AccesseRole”属性:
- 手风琴控制元素基地
- 巴列特姆
- 图库项目
- 网格带
- GridColumn
- PivotGridField
- 树列表乐队
- 树列表列
我们查看了数据网格、树列表、数据编辑器、功能区、条形图、折叠式琴、布局控件和停靠窗口,以了解可能的可访问性问题。这些 UI 控件现在具有正确的 UI 自动化属性并生成预期的事件。
重大更改
- T1088753- 可访问的名称和角色已更改。
- T1077760- UseTextForAccessability 控件样式现已禁用。
禁用所有 DevExpress 控件的辅助功能
新的静态'DevExpress.XtraEditors.WindowsFormsSettings.DisableAccessibility'属性允许您为WinForms应用程序中的所有DevExpress控件禁用'DevExpress'可访问性。
我们还向 WinForms 数据网格添加了一个新的静态“NotifyAccessibilityClientsOnMouseHover”选项。此选项允许你在 Windows 讲述人的“使用鼠标读取屏幕并与之交互”设置处于关闭状态时启用/禁用鼠标悬停时的辅助功能事件。
代码诊断(CTP)
现在可以在键入时检测 C# 代码错误。可以在代码编辑器和“错误列表”窗口中检查错误(如果有)。
安装“DevExpress.Win.CodeAnalysis”程序包以启用代码诊断。该分析器需要Visual Studio 2019或更新的版本,并且同时支持.NET Framework和.NET 5 +。
文档
简单做个总结:最大的变化就是强化了Html+Css的功能,誓死让CS界面BS化,目的也是让Winform保留其优势的同时也具备Html+Css的美观,这对Winform开发者也是好事,其他的中规中矩吧,很遗憾还是没能看到RichEditControl对中文的友好的bug修复,希望正式版早点出,并且有更多更新的内容
DevExpress WinForms Controls v22.1 beta版来袭,上车相关推荐
- 甘特图控件如何自定义绘图?DevExpress Winforms帮你忙
DevExpress Winforms Controls 内置140多个UI控件和库,完美构建流畅.美观且易于使用的应用程序.无论是Office风格的界面,还是分析处理大批量的业务数据,DevExpr ...
- 如何使用界面控件DevExpress WinForms自带的UI模板?其实很简单
DevExpress WinForm拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案.DevExpress WinForms能完美构建流畅.美观且易于使用的应用 ...
- 界面控件DevExpress WinForms皮肤编辑器的这个补丁,你了解了吗?
老用户可能知道,在几年前官方技术团队彻底检查了WinForms 皮肤编辑器--这个新工具现在被称之为"Skin Editor v2",在所有可能的方面都优于它的前身.Skin Ed ...
- 界面控件DevExpress WinForms的数据网格,让业务数据管理更轻松!
DevExpress WinForms控件的Data Grid组件是一个性能优异的编辑/数据整型组件,附带了数十个高影响力的功能,用户可以轻松地管理信息并根据业务需求来展示数据信息. PS:DevEx ...
- 用DevExpress WinForms富文本编辑器,集成高级文本编辑功能(二)
DevExpress WinForm富文本编辑器(RTF编辑器)控件允许用户将高级文本编辑功能集成到下一个WinForms项目中,它包括全面的文本格式选项.支持邮件合并,并附带了丰富的终端用户选项集, ...
- DevExpress WinForms v18.2新版亮点(一)
行业领先的.NET界面控件2018年第二次重大更新--DevExpress v18.2日前正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExpress WinForms v1 ...
- DevExpress WinForms — 2021 产品路线图
DevExpress 官方提供的2021年产品路线图计划,让我们一起来预览一下吧. DevExpress预计在 2021 年发布的新的控件和性能增强功能外,我们希望分配大量资源,帮助缩小 WinFor ...
- 未找到beta版怎么解决_刚刚,谷歌正式发布Android 11 Beta版,带来多项重磅更新...
作者 | 安卓开发者博客 译者 | 核子可乐 策划 | 小智 转发链接:https://mp.weixin.qq.com/s/gp2XZGe69KDMAtsOeu56YA 前言 今日,谷歌安卓开发者博 ...
- 鸿蒙就是安卓换皮_被喷换皮安卓?华为手机鸿蒙OS Beta版今日上线
戳上面的蓝字关注我们哦! 千呼万唤始出来,今日(12月16日),华为正式面向开发者发布鸿蒙OS 2.0手机版Beta系统,首批可参加测试的设备有华为P40.P40 Pro.Mate30.Mate30 ...
最新文章
- java ee的小程序_Java EE应用程序的单片到微服务重构
- MS Code 使用 TFVC 插件时遇到的问题
- Mybatis源码日志模块分析
- 人工智能(17)----人工智能视频监控 实用性有待提高
- 一行代码让 Python 的运行速度提高100倍
- UIScrollView与分页的联合使用
- Java八大算法:归并排序
- 1024程序员节|从无数bug中磨炼出的光,格外耀眼!
- 错误: 此上下文中不允许函数定义。
- 【NOIP 费用流】JZOJ_3029 观光公交
- java裁剪图片_java实现图片的缩放和裁剪
- 第5期-通过飞卢小说网爬取小说
- Isaac-gym(6):环境创建、模型载入、actor设置等
- 公用Foot和友情链接模块代码模板
- 和用户一起做设计的时代
- 手把手教你如何在WPF中应用VLC播放器
- 基于vue2+element+springboot+mysql+jpa+mybatis的图书管理系统
- 【转载】sql如何求几何平均数
- 推荐一些超好的学习网站
- 【网络攻防技术】实验三——MD5碰撞实验