哪种WPF控件套件最适合MVVM?

3

看起来真正评估UI控件套件的唯一方法是下载试用版并投入许多时间了解其限制和设计缺陷。然而,由于可供选择的控件套件如此之多,我正在尝试通过排除不符合关键标准- MVVM兼容性的控件套件来缩短这个过程。

您在使用MVVM的项目中部署各种控件套件方面有什么经验?哪些控件套件是专门考虑了MVVM设计的呢?


3
我不确定一个控件怎样才能是“非MVVM兼容”的,因为实际上,MVVM只是指定了控件绑定数据时所使用的类的类型。我想内置的从用户操作中触发Command衍生类的能力会很有用,但除此之外,我不确定还有哪些标准会影响这一点。 - Dan Puzey
@Dan:举个例子(我相信还有很多其他的例子),我尝试使用Actipro Docking控件构建一个带选项卡的MDI界面,但正如链接中所描述的那样,它需要大量的代码后台,因为代表选项卡的项集合不可绑定。 http://www.actiprosoftware.com/Support/Forums/ViewForumTopic.aspx?ForumTopicID=4655#17283 - Tim Coulter
2
那并不是MVVM的兼容性问题,而只是一个糟糕的控件! - Dan Puzey
@Dan - 你说得没错。"MVVM兼容控件"可能不是最好的词汇,我们可以说控件需要与WPF兼容(相信我,我曾经使用过一些WPF控件,无法使用绑定、命令、样式和模板)。如果它们与WPF兼容,那么使用MVVM应该不难。 - akjoshi
1个回答

3
我大部分同意Dan的观点;正如他所提到的,控件应该内置一个触发Command的能力,同时控件属性应该是依赖属性,以便使用绑定(我在一些第三方控件中遇到过这个问题)。
我已经为我的项目评估了Telerik、Infragistics和Syncfusion控件,并广泛使用了Telerik和Syncfusion。
从我的经验来看,我认为Telerik设计最好,最适合MVVM。我也看过Telerik的代码,他们自己也使用MVVM模式。
我没有广泛使用Infragistics,所以无法评论它们是否适合MVVM,但它们有很好和稳定的控件。
当涉及到WPF时,Syncfusion是最糟糕的,他们的控件不是很好,而且很难与MVVM一起使用。它们既没有设计得很好,也不是非常稳定。
检查这种兼容性的一个提示是——查看这些控件的示例。如果他们在示例中使用了MVVM或广泛使用CommandsBinding等,则更适合与MVVM一起使用。
据我所记得,我在Telerik的控件中看到了MVVM,而Syncfusion的示例未使用WPF的大多数功能,它们看起来像是在WPF应用程序中使用的普通WinForms示例。

1
感谢您的推荐。我意识到我的问题有些主观,但我只是试图避免下面链接中的发帖者所面临的困境,他的项目策略似乎是由需要使用一个特别不适合的控件套件来决定的:https://dev59.com/h3I_5IYBdhLWcg3wJPdu - Tim Coulter
@Tim - 是的,我明白。我也遇到过类似的困境(实际上每次需要决定使用哪些第三方控件时都会面临这种情况)。 - akjoshi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接