2009-01-08 6 views
1

Existe-t-il un modèle dans lequel WPF peut-il générer un formulaire d'interface utilisateur simple à partir d'un fichier de définition XML extrait d'une base de données?Y at-il un modèle MVC pour C# dans WPF

Il permettrait à l'utilisateur d'entrer des données dans ce formulaire et de le renvoyer. Les données seraient renvoyées dans une structure XML qui imiterait étroitement/exactement la définition de l'interface utilisateur.

La définition doit inclure le type de données et s'il s'agit d'une valeur obligatoire ou non. Je voudrais ensuite mapper ces types de données et les valeurs requises aux règles de validation des données, de sorte que le formulaire ne puisse pas être soumis à moins qu'il ne réussisse la vérification.

Il devrait également gérer la possibilité d'avoir des listes de données répétées. Je suis dans les étapes de planification de ce projet et j'ai une assez bonne flexibilité dans la conception à ce stade, même si je suis assez sûr que je dois m'en tenir au bureau, pas au Web puisque je fais peut-être un peu d'interopérabilité. des trucs aussi.

Quelle pile technologique recommanderiez-vous? Je pense que XMAL et WPF peuvent être proches de la réponse.

J'ai également regardé XUL, mais cela ne semble pas prêt ou utile pour C#. (Nous avons trouvé ce article de MSDN en 2002)

Merci,
Keith

Répondre

1

Model View Presenter semble convenir WPF assez bien, si vous ne l'avez pas entendu parler avant de vérifier le modèle Supervisor Controller, qui est un sous-ensemble de MVP (l'auteur l'a renommé Supervisor Controller et Passive View comme deux saveurs différentes de MVP). C'est un principe de conception qui vous aidera à promouvoir la séparation des préoccupations et fonctionne beaucoup mieux que MVC lorsque vous n'avez pas de cadre pour l'appliquer physiquement.

Vous pouvez toujours essayer de créer un moteur de vue pour ASP.NET MVC qui fonctionne avec WPF, ce serait bien.

0

Eh bien, si vous voulez rouler quelque chose vous, vous pouvez charger et rendre XAML dynamique assez facilement. Plutôt que d'avoir les utilisateurs à créer XAML, vous pouvez directement un sous-ensemble de celui-ci « cartographié » à un format XML de votre choix que vous xsl en XAML valide:

XmlReader tXml = XmlReader.Create(myXamlString); 
UIElement MyElement = (UIElement)XamlReader.Load(tXml); 
0

Qu'en est-Caliburn?

+0

Cela semble prometteur. Je vois où il a des capacités MVC/MVP, mais je ne vois pas où la définition de vue peut résider dans une source externe. –

0

Vous pourriez envisager de jeter un coup d'œil sur le framework CSLA.NET. Vous pouvez lire ici avec les informations sur un livre bien écrit qui est disponible:

http://www.lhotka.net/Default.aspx

-Eric

+0

J'ai beaucoup utilisé l'AAPC, mais où seraient les formes dynamiques? Je n'ai pas vérifié les dernières versions, mais je peux voir où le moteur de règles peut jouer ici. –

Questions connexes