开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 4993|回复: 1

DevExpress WinForms使用教程:Design-Time支持.NET 5

[复制链接]

0

精华

8

贡献

1768

赞扬

特约版主

帖子
583
软币
4524
在线时间
275 小时
注册时间
2019-2-21
发表于 2020-12-4 09:31:39 | 显示全部楼层 |阅读模式
早在今年7月,官方技术团队宣布对DevExpress控件进行功能增强,使其支持最新的.NET 5 Preview。 但是尽管技术团队一直在努力确保WinForms控件与.NET 5兼容但在Visual Studio中对设计器的支持却是另一回事。 现在.NET 5已与Visual Studio 2019 v16.8一起正式发布,现在该讨论如何使用DevExpress WinForms v20.2的设计时工具了。
尽管WinForms平台尚未完全解决重要的设计时问题,但Microsoft在考虑.NET 5的开发人员方面取得了较好的进展,例如,您可以调用控件的智能标记菜单...

使用控件的设计器

并利用独立的设计器对话框来设置复杂的属性,例如技术团队最近全面修改的编辑器输入标记的Mask Settings对话框。

基本操作
为了开发一个新的WinForms应用程序,该应用程序以DevExpress控件为目标面向.NET 5,您应该执行以下操作:
1. 使用VS Installer中选中的“.NET Core development tools”选项来安装Visual Studio 2019 version 16.9 Preview 1。
2. 按照本帮助文章中的说明注册特殊的抢先体验NuGet feed:安装Visual Studio的NuGet Package Manager。通过单独的Feed分发.NET 5控件,Microsoft仍必须实施一些细节,这些细节对于完整设计时支持至关重要。
注意:目前,NuGet feed是获取针对.NET 5优化的最新DevExpress WinForms控件的唯一方法。通过Download Manager中提供的经典.NET Core安装程序分发的DevExpress WinForms v20.2控件,也可以在.NET Core下运行.NET 5,但缺乏设计时支持。
3. 在Visual Studio中,确保您的应用程序面向.NET 5.0。跳转到“Project | Manage NuGet Packages...”,选择您在步骤2中注册的Feed,然后安装具有所需本地化区域性的预发布软件包,每个软件包都包含所有可用的DevExpress WinForms控件。

4. 安装选定的程序包后,您可以从Visual Studio工具箱中添加DevExpress控件。

已知问题
尽管上面提到的设计时功能似乎表明.NET 5已准备就绪且可用(实际上可用于Visual Studio中的基本WinForms控件),但标准WinForms设计器界面仍然存在重要的局限性/问题,这些问题意味着设计器目前尚不完全支持我们复杂的WinForms控件。当然,Microsoft将在未来的Visual Studio构建中增强这些接口,随后将提供DevExpress WinForms设计时支持。 目前,我们尚无有关何时准备好进行此类更改的指导,因此我们无法为用户提供确切的发布时间表。一些尚未为.NET 5提供最佳的设计时体验示例:
  • 接受自定义结构(例如DevExpress.Utils.Padding)作为值的属性可以显示在Visual Studio Properties面板中,但任何尝试编辑此类属性的操作都可能导致IDE崩溃。
  • Visual Studio Toolbox中显示的控件不支持图标。
  • 自定义字形无法在设计时渲染,针对常规.NET Framework的WinForms控件利用此类字形来指示绑定的UI元素,显示调用Data Source Configuration Wizard的按钮等。
  • 设计器不支持数据源和绑定,只能在代码中指定。
  • 不支持某些交互功能,例如拖动控件元素。
  • 托管WinForms Designer的进程容易挂起。
  • 在性能方面还存在其他一些问题。
DevExpress是最早发布商业WinForms UI控件的组件供应商,多年来为复杂的WinForms UI控件创建了一些非常复杂的设计器。 我们将资源集中在设计时体验上,出色的设计时经验可提高生产率并降低开发成本。
在WinForms的设计时经验并不取决于Visual Studio的标准设计器界面,因此要为.NET 5提供与在早期版本的.NET Framework中相同的设计时体验,将需要艰巨的尝试:
  • 为单个控件元素(网格列,图块等)添加智能标签菜单。
  • 创建自定义向导,例如模板库、数据源配置向导、Scaffolding向导等。
  • 扩展的智能标签。
  • 处理不允许您创建事件处理程序的设计器对话框。
  • 找出解决缺少的Visual Studio查找面板属性的方法。
  • 解决DevExpress编辑器的类型转换问题。
  • 找出如何处理非操作助手组件。
最后,还有一些功能和控件在当前版本中不可用:XPO, reporting和XtraDialogs,这些功能缺失的原因与主要的技术困难无关,将在以后的DevExpress版本中解决。

DevExpress技术交流群2:775869749      欢迎一起进群讨论

回复

使用道具 举报

0

精华

275

贡献

2392

赞扬

正版授权组

Rank: 14Rank: 14Rank: 14Rank: 14

帖子
214
软币
7430
在线时间
653 小时
注册时间
2013-12-13
发表于 2020-12-4 17:37:35 | 显示全部楼层
凉凉~ 平滑过渡可能不行了~
回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-12-22 15:30

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表