3

It seems that the only way to really evaluate a UI control suite is to download the trial and invest many hours in understanding its limitations and design flaws. However, with so many to choose from, I am trying to shorten this process by ruling out those that fail to meet a key criterion - MVVM compatibility.

What are your experiences in deploying the various suites in projects that use MVVM and which, if any, are specifically designed with MVVM in mind?

akjoshi
  • 15,374
  • 13
  • 103
  • 121
Tim Coulter
  • 8,705
  • 11
  • 64
  • 95
  • 3
    I'm not sure how a control could be "non-MVVM compatible" since really, MVVM just specifies what kind of class the control is bound to for data. I guess the built-in ability to fire a `Command` derivative from user actions would be useful, but beyond that I'm not sure what criteria would affect this. – Dan Puzey Jun 30 '10 at 16:36
  • @Dan: as an example (and I am sure there are many others) I tried building a tabbed MDI interface using the Actipro Docking controls but, as described in the link, it requires large amounts of codebehind because the items collection that represents the tabs is not bindable. http://www.actiprosoftware.com/Support/Forums/ViewForumTopic.aspx?ForumTopicID=4655#17283 – Tim Coulter Jun 30 '10 at 16:48
  • 2
    That's not an MVVM compatibility issue though - that's just a crap control! – Dan Puzey Jun 30 '10 at 16:55
  • @Dan - You may be right. MVVM compatible controls may not be the best phrase to use, we can say that control needs to be WPF compatible(trust me I have used WPF controls with which you can't use Binding, Commands, Styles and Templating). If they are WPF compatible then it should not be tough to use MVVM with them. – akjoshi Jul 01 '10 at 13:02

1 Answers1

3

I mostly agree with Dan; As he mentioned controls should have built in capability to fire a Command, at the same time control properties should be dependency properties so as to use binding with them(I have faced this issue with some of the 3'rd party controls).

I have evaluated Telerik, Infragistics and Syncfusion controls for my projects and have extensively used Telerik and Syncfusion.

From my experience I feel Telerik are best designed controls and best suited for MVVM. I have seen telerik's code as well and they themselves use MVVM pattern.

I haven't used Infragistics extensively so can't comment whether they suit for MVVM or not but they have good and stable controls.

Syncfusion is worst when it comes to WPF, there controls are not that great and will be tough to use with MVVM. They are neither well designed nor very stable.

One tip to check this compatibilty -

check(glance through) the samples for these controls. If they have used MVVM in there samples or have used Commands, Binding etc. extensively in there samples, then they will be more suitable to be used with MVVM.

As far as I remember, I have seen MVVM in Telerik's control, where as Syncfusion samples don't use most of the features of WPF in there samples, they look plain WinForms samples used in WPF application.

akjoshi
  • 15,374
  • 13
  • 103
  • 121
  • 1
    Thanks for your recommendation. I realize that my question was somewhat subjective, but I am simply trying to avoid the predicament faced by the poster in the link below, whose project strategy seems to be dictated by the need to work with a particularly unsuitable control suite: http://stackoverflow.com/questions/1510041/what-is-your-experience-with-abandoning-mvvm-for-usercontrol-based-wpf-architectu – Tim Coulter Jul 01 '10 at 15:11
  • @Tim - Ya, I understand that. I have also faced similar dilema(actually everytime you need to decide whihc 3'rd party controls to use). – akjoshi Jul 02 '10 at 06:40