我应该选择哪个WPF网格; xamDataGrid或xamGrid?如果你使用Infragistics终极UI为WPF的产品,那么你已经问过自己这个问题很多次没有一个明确的答案。好吧,我将为您提供清晰的答案。
使用xamDataGrid!
在那里,那很容易。现在你有你的答案,随时继续浏览Infragistics博客伟大的内容。如果您想了解更多有关原因以及我们对xamGrid的计划的信息,请继续阅读。
但是为什么呢?
xamGrid是需要跨平台网格的产物,该网格允许您跨WPF和Silverlight共享代码。虽然Infragistics Ultimate UI for WPF产品始终具有xamDataGrid,但无法将此网格移植到Silverlight,因为它的构建是为了利用WPF特定的api来压缩我们可以获得的每一盎司性能。因此,跨平台xamGrid诞生了。与之一起的还有一些编辑器,它们被称为输入:
- xamComboEditor-是的,这是一个输入
- xamCurrencyInput
- xamDateTimeInput
- xamMaskedInput
- xamNumericInput
回到Silverlight时代,使用哪个网格的决定应该是清楚的。如果尝试编写跨平台WPF和SL应用程序,请使用xamGrid和输入。如果您正在编写仅WPF应用程序,请使用xamDataGrid。简单对吗?嗯,不完全是。在那些日子里,我们关于使用哪种控件的消息尚不清楚。我们未能传达关于哪个网格是应用程序的正确网格的清晰简洁的信息。现在,对于试图决定使用哪个控件集的开发人员来说,这只是一个令人困惑的产品。WPF的Infragistics Ultimate UI现在有两个网格、两个日期/时间编辑器、两个屏蔽编辑器、两个数字编辑器等。这可能使您难以选择要在WPF应用程序中使用的控件。
长话短说,Silverlight已经死了,使用xamGrid或其关联的输入控件的任何理由也是如此。
特征视差
虽然xamGrid和xamDataGrid之间的功能奇偶校验接近90%,但xamGrid具有的xamDataGrid缺少三个主要功能。
这些功能是:
- 单元格合并
- 条件格式
- 分页
我知道你在想什么; “但是布莱恩,我使用这些功能。我不能使用xamDataGrid,除非它有他们。”嗯,我有好消息。在我写这篇博客时, 单元格合并被添加到xamDataGrid中,并将在下一个Infragistics Ultimate UI for WPF 18.1版本中提供。已计划在WPF 18.2版本的Infragistics Ultimate UI中发布条件格式。另一方面, 分页 … 嗯,我不确定我们是否会实现分页。作为企业领域的开发人员,分页对我来说从来没有意义。通过添加xamDataGrid的新异步数据源,您可以在其中从您选择的服务滚动时异步加载数据,并且只是让值淡入,我看不到分页的真正用例。如果分页是一个必须具备的应用程序,请让我知道。我很想就此进行对话。
有什么计划?
让我们向房间里的大象讲话。xamGrid及其相关输入的计划是什么?老实说,如果我完全控制了宇宙,我会把它们都除掉。我会标记xamGrid及其输入过时,并让每个人都移动到xamDataGrid和WPF特定的编辑器。不幸的是,我做不到。我知道有大量的客户在他们的应用程序中使用这些控件,以及时间和努力改变他们的代码使用不同的网格和/或编辑器不是一个简单的任务。
那么Infragistics会做什么?我们是要让信息响亮而清晰地表明哪个co你应该使用的ntrols。
你可能已经注意到这个方向的一些小迹象。自从Silverlight死亡以来,xamGrid上就没有新功能。只有关键的bug修复。xamGrid及其输入已从Visual Studio工具箱中移除。它们已从WPF示例浏览器的Infragistics Ultimate UI中删除。它们已从WPF产品的Infragistics Ultimate UI网页中删除。基本上,您甚至使用它们的唯一方法是两年前将它们添加到应用程序中,或者手动添加对它们的引用。
我们还将正式停止xamGrid和相关输入上的所有新功能工作。这真的不是什么新鲜事,但现在是官方声明了。我们将更新文档,在每个xamGrid和input主题的顶部添加一个漂亮的小 “建议”,以便不断提醒您我们希望您使用xamDataGrid和WPF特定编辑器。我们将继续提供支持并修复报告的任何关键错误。
控件及其程序集不会去任何地方。我希望你离开xamGrid; xamGrid不会离开你。
后续步骤
再一次,我不会开始移除东西并破坏所有人。这将是一个非常漫长的过程 (多年),并将给每个人足够的时间来采取行动。
我也明白,对于很多使用xamGrid的人来说,这可能会令人沮丧,并且投入了大量的时间和代码。作为一名开发人员,我完全理解你所处的位置,我真诚地同情你。但是,我不能袖手旁观,让您继续使用我们无意前进的控件。这对你、你的客户或你工作的公司都不公平。
我们的投资在xamDataGrid。这就是我们前进的方向。每个版本都有一个新功能,改进或生产力工具来支持它 (只需等待,直到您看到即将推出的xamDataGrid control configurator)。那就是我想要你去的地方。
如果您使用的xamGrid和吓坏了这个博客文章,请与我联系。我想整理一个指南来帮助您将代码迁移到xamDataGrid。我需要知道你正在使用什么功能。你是如何扩展网格或自定义它。我想知道是否有什么阻止你移动到xamDataGrid (例如; 分页)。
摘要
需要明确的是,我们没有标记任何弃用,我们不会从产品中删除任何控件或程序集。xamGrid及其输入将继续存在。他们将处于类似僵尸的状态。如果一只胳膊掉下来,我们会把它放回去。我们只是不再喂它大脑了。
我只想清理不同名称空间中重复控件的产品,并明确您应该使用哪些控件。
虽然非常欢迎您继续使用xamGrid,但我仍然强烈建议您尽早切换到xamDataGrid。这将是你的应用程序的最佳利益,使移动。我希望您使用我们拥有的最好的控件,具有最高的质量,最佳的性能和最光明的未来。
如果你正在采取行动,并遇到任何问题或缺少的功能是必须具备的,那么请让我知道。
如果您受到任何影响,请在Twitter (@ brianlagunas) 上与我联系,或直接在blagunas@infragistics.com给我发电子邮件。我很乐意听到您的反馈,并帮助您解决您可能遇到的任何问题或疑虑。