没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:龚雪|2022-05-12 10:19:02.737|阅读 158 次
概述:本文主要介绍DevExpress WPF的视图模型生成器是如何支持Prism & MVVM Light的,欢迎下载最新版体验!
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
复杂视图中的视图模型包含许多属性、命令和重复的接口实现,为所有这些成员编写代码不仅低效,而且可能会导致拼写错误等。幸运的是,代码编写不断发展,新技术可以让您节省时间,保持代码库紧凑、干净和可读。编译时生成器就是这样一种技术,生成器在您输入代码时无缝工作,甚至无需构建项目或执行任何操作即可生成代码。
DevExpress WPF的MVVM 代码生成器自动创建基于方法的命令、基于字段的属性,并实现 INotifyPropertyChanged、INotifyPropertyChanging、IDataErrorInfo、ISupportServices 和 ISupportParentViewModel 等接口。对于使用 DevExpress MVVM 框架的用户来说,这是一个很好的补充。尽管如此,我们的组件也与其他 MVVM 框架兼容,如果您使用的是 Prism 或 MVVM Light,仍然可以使用我们的代码生成器。
Prism View Model代码生成器可帮助您使用所有基本视图模型功能:命令、属性和通知,它使用 Prism 的 DelegateCommand 类来生成命令。 除此之外,生成器可以自动实现 Prism 的 IActiveAware 接口,将 GenerateViewModel 分配给您的模型类并将 ImplementIActiveAware 设置为 true 就足够了:
Base View Model
[GenerateViewModel(ImplementIActiveAware = true)] partial class ViewModel { // ... void OnIsActiveChanged() { // ... } }
Generated View Model
partial class ViewModel : INotifyPropertyChanged, IActiveAware { // ... bool isActive; public bool IsActive { get => isActive; set { isActive = value; OnIsActiveChanged(); IsActiveChanged?.Invoke(this, EventArgs.Empty); } } public event EventHandler? IsActiveChanged; // ... }
您需要声明 DevExpress.Mvvm.CodeGenerators.Prism 命名空间才能使用 Prism 代码生成器。
除了标准的视图模型功能,MVVM 生成器可以自动创建一个 Messenger 并实现 ICleanup 接口:
Base View Model
[GenerateViewModel(ImplementICleanup = true)] partial class ViewModel { // ... void OnCleanup() { // ... } }
Generated View Model
partial class ViewModel : INotifyPropertyChanged, ICleanup { // ... protected IMessenger MessengerInstance { get; set; } = Messenger.Default; public virtual void Cleanup() { MessengerInstance.Unregister(this); OnCleanup(); } // ... }
声明 DevExpress.Mvvm.CodeGenerators.MvvmLight 命名空间来将 View Model Generator 与 MVVM Light 一起使用。
DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件的衍伸产品,还是以数据为中心的商业智能产品,都能通过DevExpress WPF控件来实现。
DevExpress技术交流群6:600715373 欢迎一起进群讨论
更多DevExpress线上公开课、中文教程资讯请上中文网获取
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:慧都网.NET应用UI框架DevExpress XAF v25.1即将在6月更新,新版本重点增强领域仍然是Blazor,欢迎加入社群及时获取最新信息!
Web测试工具Parasoft SOAtest让测试脚本的创建和复用变得简单高效,自动适应界面变化,实现数据驱动的零压力维护,同时确保跨浏览器测试的无缝执行,极大地降低了维护成本,提高了测试效率。
Parasoft Jtest作为一款强大的Java自动化测试工具,通过灵活的规则定制和统一标准管理,为团队提供了高效的代码规范与合规性检查解决方案。无论是应对行业标准还是企业特殊需求,它都能帮助开发者提升代码质量、降低风险,从而在复杂的开发环境中实现高效协作与稳定交付。
作为全球领先的三维图形开发平台,Tech Soft 3D提供的HOOPS产品套件已成为众多计算机辅助制造(CAM)软件的核心基础架构之一,并为其提供了高性能的数据解析、三维渲染与协作能力。
优秀的界面控件开发包,帮助企业构建卓越应用!
DevExpress DXperience Subscription高性价比的企业级.NET用户界面套包,助力企业创建卓越应用!
DevExpress WPF Subscription高效MVVM开发模式,WPF界面解决方案首选工具,帮助企业实现酷炫动效界面。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号