彩票走势图

界面控件DevExpress WPF v21.1新版亮点放送:支持.NET Core & .NET 5

原创|产品更新|编辑:龚雪|2021-06-09 10:52:46.910|阅读 179 次

概述:DevExpress WPF v21.1 正式版日前已发布,DevExpress图像库现在可用于 .NET Core 和 .NET 5、升级MVVM功能等,欢迎点击下载新版体验!

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。

DevExpress WPF v21.1 正式版日前已发布,DevExpress图像库现在可用于 .NET Core 和 .NET 5、升级MVVM功能等,欢迎点击下载新版体验!

.NET Core & .NET 5
XAML 设计器 - 建议操作

建议操作现在在Visual Studio Preview 版本中可用,并包括以下新功能:

  • 支持非可视元素(工具栏和功能区项目、数据网格列)
  • 支持嵌套元素(例如,GridControl 现在可以使用 TableView 选项)
  • 新属性编辑器
  • 外观标签
界面控件DevExpress WinForms v21.1最新版亮点放送
XAML 设计器 – 图像库

DevExpress图像库现在可用于 .NET Core 和 .NET 5,图像库包括数千个高质量的光栅和矢量图标 (SVG)。 可以通过Suggested Actions、Properties窗口和Visual Studio 的主菜单访问该库。

界面控件DevExpress WinForms v21.1最新版亮点放送
MVVM
编译时 ViewModel 生成

此功能使用 .NET 5 中引入的 C# 源代码生成器在编译时为您的 ViewModel 生成样板代码。 命令声明、属性更改通知、IDataErrorInfo 实现和服务支持将自动添加链接到ViewModel 的分部类。

C#


// manual part
using DevExpress.Mvvm.CodeGenerators;

[GenerateViewModel]
public partial class ViewModel {
[GenerateProperty]
int _Count;

[GenerateCommand]
public void Increment() => Count++;
}

// generated part
partial class ViewModel : INotifyPropertyChanged {
public event PropertyChangedEventHandler PropertyChanged;
protected void RaisePropertyChanged(PropertyChangedEventArgs e) => PropertyChanged?.Invoke(this, e);
public int Count {
get => _Count;
set {
if(EqualityComparer<int>.Default.Equals(_Count, value)) return;
_Count = value;
RaisePropertyChanged(CountChangedEventArgs);
}
}
DelegateCommand incrementCommand;
public DelegateCommand IncrementCommand {
get => incrementCommand ??= new DelegateCommand(Increment, null, true);
}
static PropertyChangedEventArgs CountChangedEventArgs = new PropertyChangedEventArgs(nameof(Count));
}


编译时代码生成共享与运行时生成的 POCO ViewModel 和标准 ViewModelBase 后代相关的好处:

  • ViewModel 没有重复的样板代码
  • 生成的代码存储在部分类中,您可以轻松查看和调试代码
  • ViewModel 类在设计时和运行时是相同的
  • 最佳运行时性能,因为类是提前生成的
EventToCommand - 事件参数返回转换

将事件参数传递给命令时,您可以定义反向转换逻辑并将值从命令返回到事件:

XAML


<dxe:TextEdit>
<dxmvvm:Interaction.Behaviors>
<dxmvvm:EventToCommand EventName="Validate"
Command="{Binding ValidateCommand}"
EventArgsConverter={local:ValidateEventArgsConverter} />
</dxmvvm:Interaction.Behaviors>
</dxe:TextEdit>


C#


public class ValidateEventArgsConverter : EventArgsConverterBase<ValidationEventArgs> {
protected override void ConvertBack(object sender, ValidationEventArgs args, object parameter) {
if (parameter is ValidationInfo info && info.IsValid)
args.SetError(info.ErrorContent, info.ErrorType);
}
...
}


当事件需要返回值并且特定于 UI 的事件参数无法传递给 ViewModel 时,这应该会简化这种情况。 此类事件的示例包括验证、自定义排序、自定义显示文本等。


DevExpress技术交流群3:700924826      欢迎一起进群讨论

慧都高端UI界面开发

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:慧都网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP