DevExpress Winforms v20.2日前全新发布,此版本进一步增强图形图表功能、编辑器性能也得到显著提升,欢迎下载最新版体验!
图表
大数据图表
DevExpress Charts v20.2引入一个新选项-Series.AllowResample,激活此选项可最大程度地减少内存占用量,并以极快的速度为手动创建的系列渲染大量数据集。
Diagram
SVG导出
Diagram控件现在支持矢量(SVG)文件导出。
全新的列表项
Diagram控件包含一个新的容器项 - DiagramList,它将其子项排列在水平或垂直列表中。
度量单位
您可以启用一个新的ShowMeasureUnit选项,来在Properties Panel、Page Setup Window和Bottom Panel中显示度量单位。
其他增强功能
- v20.2为组织结构图的自动布局包括一个新的DiagramOptionsOrgChartLayout.IsCompact选项, 将此选项设置为false可以计算所有tip-over子树的偏移量,而不是单个层次结构级别的偏移量,这使得具有复杂层次结构的组织图(tip-over子树)更易于阅读和理解。
- 现在您可以按住鼠标中键并拖动以平移该图,此操作由AllowMiddleButtonDrag选项控制。
编辑器
新的DateTime偏移量编辑
新的WinForms DateTimeOffsetEdit控件使您可以显示和编辑DateTimeOffset值, 编辑器支持屏蔽输入。
掩码
v20.2附带经过全面检查的掩码引擎,从新的选项和设置到高级的掩码编辑器和数据注释支持,掩码引擎包括您需要的一切,以提供无错误数据输入逻辑的直观用户体验。
新的DateTimeOffset掩码
支持数据注释
通过代码优先数据源中的数据注释属性应用掩码。
C#
`using System.ComponentModel.DataAnnotations;
public class Employee {
//allow only literals, first literal is automatically captitalized
RegExEditMask("[A-Z+", IgnoreMaskBlank = true, ShowPlaceholders = false)]
public string FirstName { get; set; }
//DateTime in the short "MM/DD/YYYY" format
[EditMask("d")]
public DateTime HiredAt { get; set; }
}`
具有高级设置的掩码编辑器
掩码编辑器允许您选择预构建的掩码,从头开始创建新掩码或自定义预定义的表达式,保存自定义掩码以及应用高级掩码设置(区域性名称、使用高级插入符号等)。
新的API
在此版本中,可通过RepositoryItemTextEdit.MaskSettings属性使用掩码设置,RepositoryItemTextEdit.Mask选项现在已过时。
C#
`textEdit.Properties.MaskSettings.DataType = typeof(decimal);
textEdit.Properties.MaskSettings.MaskExpression = "###.##";
// or
textEdit.Properties.MaskSettings.MaskManagerType = typeof(SimpleMaskManager);
textEdit.Properties.MaskSettings.MaskExpression = "##-##-##";`
新的'Configure' 方法允许您指定掩码类型、表达式并设置其他设置。 例如,以下代码将数字掩码与以下掩码条件一起应用:
- 允许用户使用“ 000.00”格式输入十进制数字;
- 隐藏不影响实际值的零(“ .9”替代“ 0.9”);
- 即使小数段为0(“ 110.”替代“ 110”),也会显示小数点分隔符。
C#
`using DevExpress.XtraEditors.Mask;
//Fluent API
textEdit5.Properties.MaskSettings.Configure
settings.MaskExpression = "###.##";
settings.AutoHideDecimalSeparator = false;
settings.HideInsignificantZeros = true;
});
//regular API
var settings = textEdit5.Properties.MaskSettings.Configure
settings.MaskExpression = "###.##";
settings.AutoHideDecimalSeparator = false;
settings.HideInsignificantZeros = true;`
文本编辑器的“高级模式”(CTP)
新的“高级模式”为所有基于TextEdit的WinForms编辑器添加了许多有趣的选项(TokenEdit、HyperTextLabel和HyperlinkEdit控件除外)。 这些包括:
- 性能改进
- 嵌入式标签
- 表情符号
您的用户现在可以插入包含表情符号的字符串,或按“ Win +”,通过热键从Windows库输入表情符号。
为所需的编辑器启用新的“ AdvancedModeOptions.UseDirectXPaint”选项,以允许插入彩色表情符号。 否则,编辑器将显示标准表情符号的黑白版本。
- 动画插入符和选择
插入标记的移动和文本选择更令人赏心悦目。
文本选择颜色现在基于当前应用的皮肤。
要激活“高级模式”,请启用“ Properties.UseAdvancedMode”属性。
增强SvgImageBox功能
- 工具提示
- 上下文按钮
- 图像对齐
- 禁用单个项目
- 使用自定义外观设置保存SVG
支持Ctrl+Backspace
现在WinForms TextEdit控件及其后代支持Ctrl + Backspace热键组合,该组合将删除光标左侧的单词。
TokenEdit - 绑定到数据
您现在可以将Token Edit绑定到数据,使用新的“ DataSource”属性来指定带有token的描述和唯一值的字段。
C#
`tokenEdit1.Properties.DataSource = categoryBindingSource;
tokenEdit1.Properties.ValueMember = "ID";
tokenEdit1.Properties.DisplayMember = "Name";`
TokenEdit - 单击时显示下拉列表
最终用户现在可以在编辑框中单击来显示带有tokens的下拉列表。
CameraControl,PictureEdit - 指定默认的相机设备和分辨率
此版本向TakePictureDialogShowing事件添加了新参数,以允许您指定默认的相机设备并配置其分辨率。
C#
`void OnTakePictureDialogShowing(object sender, TakePictureDialogShowingEventArgs e) {
e.ResolutionMode = ResolutionMode.Maximum;
}`
Take Picture对话框(独立并嵌入在Picture Edit控件中)将当前相机设备及其分辨率保留在系统注册表中,下次您打开Take Picture对话框时,将重新使用这些设置。
PictureEdit - 配置输出图像格式
新的“ OptionsEditDialog.OutputImageFormat”属性使您可以指定输出图像格式,默认输出图像格式为PNG。
PictureEdit - 图像裁剪操作的自定义宽高比
现在,您可以处理新的'CustomizeCropOptions'事件来自定义宽高比选项。
C#
`void PeEditable_ImageEditorDialogShowing(object sender, ImageEditorDialogShowingEventArgs e) {
e.Form.CustomizeCropOptions += (s, ea) => { CustomizeCropOptions(s, ea); };
}
void CustomizeCropOptions(object sender, CustomizeCropOptionsEventArgs e) {
var widescreen = new AspectRatioInfo(1.777f, "16:9");
var standard = new AspectRatioInfo(1.333f, "4:3");
e.AspectRatios.Clear();
e.AspectRatios.Add(widescreen);
e.AspectRatios.Add(standard);
e.DefaultAspectRatio = widescreen;
}`
ListBox - 项目自动高度
现在当基于模板渲染项目时,WinForms Listbox控件可以自动计算最佳项目高度。