Je suis en train de créer une application graphique qui sera le frontal d'un fichier de configuration XML.Implémenter le modèle d'instance d'objet dans PropertyGrid
La structure XML définit un ensemble d'instances d'objet. C'est-à-dire, les noms de type et les valeurs de propriété qui doivent être instanciées dans l'application consommatrice (service Windows).
Donc il y a trois couches:
ConfigurationObject <--> ComponentObjects <--> PropertyGrid
Le ConfigurationObject
sérialisés dans le format XML approprié pour le service Windows. Les ComponentObjects
sont les mêmes types qui sont utilisés par le service Windows.
Le problème que je rencontre est de déterminer la meilleure façon de synchroniser les trois couches.
Ma première implémentation Je voudrais mettre à jour les propriétés individuelles lorsqu'elles ont été modifiées. Cependant, cette approche n'a pas fonctionné très bien quand je dois mettre à jour des objets complexes à l'interface utilisateur (Même si je crois que je sais ce que le problème était maintenant)
Mon approche actuelle consiste à utiliser TypeConverters pour convertir entre le ConfigurationObject
et le ComponentObjects
qui fonctionne bien jusqu'à ce qu'un rendu compte que ma logique actuelle ne tient pas compte de la BrowseableAttribute
(depuis que je simplement itérer sur toutes les ComponentObject
propriétés lors de la conversion à un ConfigurationObject
)
Alors avant que je passe plus de temps sur mon approche actuelle, je veux être sûr que je suis sur la bonne voie. Y a-t-il une approche plus simple? Y a-t-il un modèle/modèle de conception que je peux utiliser dans une telle situation?
Merci, Karl