界面控件DevExpress WPF v21.2新版亮点 - 远程桌面性能增强

DevExpress WPF控件拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件的衍伸产品,还是以数据为中心的商业智能产品,都能通过DevExpress WPF控件来实现。

DevExpress WPF近日正式发布了v21.2,新版本官方正式宣布增强了远程桌面性能、图表控件功能等,欢迎下载最新版体验!

DevExpress WPF v21.2官方正式版下载

远程桌面性能

新版本的主题缓存引擎 - 默认为所有内置和自定义WPF主题启用,现在支持多个登录/注销操作。 这个新选项增强了使用 DevExpress UI 组件开发的所有WPF应用程序的性能,对于远程执行的应用程序(使用Microsoft远程桌面服务或Citrix等工具),性能提升尤其显着,在这些应用程序中,登录/注销操作更为常见。

为了帮助可视化与此增强相关的性能相关优势,技术团队测量了正常呈现 WPF 电子表格控件以及登录/注销后需要多长时间:

界面控件DevExpress WPF v21.2新版亮点 - 远程桌面性能增强_第1张图片

图表

可自定义的空点

DevExpress Chart控件现在可以将间隙(在数据源内)处理为空点(具有未定义值的点),现在可以使用不同的样式选项(基于系列视图类型)自定义这些间隙的外观,还可以完全自定义空点的点标记、线段和区域段的外观。

您还可以绘制“模拟”点替代间隙(基于相邻系列点的值),将系列视图的 EmptyPointOptions.ProcessPoints 属性设置为 'Interpolate'。

界面控件DevExpress WPF v21.2新版亮点 - 远程桌面性能增强_第2张图片

数据网格和TreeList

MVVM Command API

WPF数据网格和TreeList控件包括以下新命令:

  • AddingNewNodeCommand
  • CustomNodeFilterCommand
  • CustomUnboundColumnDataCommand
  • CellMergeCommand
  • CellValueChangedCommand
  • CellValueChangingCommand
  • InitNewRowCommand
  • InitNewNodeCommand
  • InvalidRowExceptionCommand
  • NodeChangedCommand
  • ValidateCellCommand

这些命令属性充当标准事件的对应物,允许您在 ViewModel 级别塑造数据并响应用户输入,而无需在 View 中编写代码。

XAML

C#

[Command]
public void UnboundColumnData(DevExpress.Mvvm.Xpf.UnboundColumnRowArgs args) {
if(args.IsGetData) {
Product item = (Product)args.Item;
args.Value = item.UnitPrice * item.UnitsOnOrder;
}
}

锁定 TreeList 更新

您现在可以在 WPF TreeList 中完全锁定计算和树层次结构更新。

C#

public void UpdateSource() {
TreeListControl.View.BeginDataUpdate(true);
// Update source
TreeListControl.View.EndDataUpdate();
}

这个新的 API 将有助于提高大型数据集的性能(当/如果必须同时更新大型记录集时)。

全新的CRUD API

  • 编辑数据:服务器模式和即时反馈源不提供内联编辑支持。 在 v21.2 中,添加了一个新操作(DialogEditFormBehavior) 以允许在编辑表单中进行编辑,同时还添加了以下新事件:RowEditStarting、RowEditStarted、RowEditFinished和相应的命令。
  • 添加行:现在可以使用 New Item Row 将新记录添加到Infinite Async Source中。
  • 在删除时验证行:网格的新 ValidateRowDeletion 事件和ValidateRowDeletionCommand事件允许在从网格中删除绑定到本地或无限源的行之前检查数据库约束。

C#

[DevExpress.Mvvm.DataAnnotations.Command]
public void ValidateRowDeletion(DevExpress.Mvvm.Xpf.ValidateRowDeletionArgs args) {
var item = (EFCoreIssues.Issues.User)args.Items.Single();
_Context.Users.Remove(item);
_Context.SaveChanges();
}
  • 刷新数据:您现在可以使用 RefreshDataSource 命令或按 F5 来刷新绑定到无限、分页、服务器模式或即时反馈源的网格。 如果不想阻塞 UI,可以在单独的任务中执行刷新操作,我们还添加了RefreshDataSource事件和 RefreshDataSourceCommand 来手动刷新数据。

C#

[DevExpress.Mvvm.DataAnnotations.Command]
public void Refresh(DevExpress.Mvvm.Xpf.RefreshArgs args) {
args.ResultAsync = Task.Run(() => {
_Context = new IssuesContext();
ItemsSource = _Context.Users.ToList();
});
}

这些 API 与 MVVM 完全兼容。


DevExpress技术交流群6:600715373      欢迎一起进群讨论

更多DevExpress线上公开课、中文教程资讯请上中文网获取

你可能感兴趣的:(界面开发,ui,UI控件,devexpress,wpf)