Comment construire dynamique formes d'entrée de données dans une application WPF?

Je suis la planification d'une application WPF qui

  • être en mesure de créer dynamique formes d'entrée de données (le sens de la forme devient le champs à afficher, leur ordre, etc. à partir des données de la base de données, pas de la XAML)
  • utiliser le pattern MVVM, si possible

Voici comment j'ai l'intention d'aller à ce sujet: dans une Entrée de Données de point de Vue, je voudrais définir le contexte de données:

<UserControl.DataContext>
    <vm:DynamicFormViewModel/>
</UserControl.DataContext>

et puis d'inclure un élément dans mon XAML comme un espace réservé pour la forme:

<UserControl.Content>
    <view:DynamicFormView x:Name="CustomerEntry"/>
</UserControl.Content>

ensuite dans mon ModelView je veux pas avoir des propriétés statiques mais je veux construire le XAML comme un construit HTML contrôles de retour dans ASP.NET dans ce mode:

View view = new View();
view.Children.Add(...)

et dans cette façon de construire la Grille basée sur la collecte de données (prénom, nom) et les méta-données (champ de l'étiquette, le nom du champ, le champ helptext, le champ ordre d'affichage, etc.) qui le ViewModel obtient à partir du Modèle.

  • quelqu'un a construit une application WPF qui pourrait créer des formulaires dynamiques de cette manière?
  • avez-vous utilisé le modèle MVVM?
  • est-il possible d'utiliser le modèle MVVM de cette façon, ou ne le pattern MVVM présupposent champs statiques dans le Modèle de Vue qui sont directement liés aux éléments statiques de la Vue?

OriginalL'auteur Edward Tanguay | 2009-04-24