在动态创建控件时是否会破坏MVVM设计原则?

时间:2013-06-28 19:04:00

标签: wpf mvvm wpf-controls

我觉得问题主要在标题中,但要深入探讨:

我的经理真的在所有WPF应用程序中推动MVVM,但今天我被要求动态创建某些控件,以便为问题实现更通用的解决方案。出于某种原因,这似乎与他所宣扬的MVVM模式相矛盾。整个想法是将视图与模型分开吗?或者我在这里遗漏了什么?

任何澄清都表示赞赏!

2 个答案:

答案 0 :(得分:0)

您当然可以创建由View Model驱动的动态控件。 WPF有一些强大的模板概念。阅读以下内容 DataTemplate,ContentControl,ItemsControl。

答案 1 :(得分:-2)

是的,这是矛盾的。如果您使用MVVM,则没有理由在过程代码中创建或操作UI元素。

WPF提供了几种机制来创建“动态”UI,而无需使用诸如winforms之类的UI框架的代码隐藏方法。

  • 的DataTemplates。
  • ItemsControls。

发布一些你想要做的样本,我可以告诉你在WPF中做到这一点的正确方法。