2009-09-16 6 views
0

Je souhaite concevoir une fenêtre de propriétés de type Visual Studio dans laquelle l'utilisateur peut modifier les propriétés des contrôles. Lorsque l'utilisateur sélectionne le contrôle particulier dans l'interface utilisateur, toutes les propriétés modifiables doivent être visibles dans la fenêtre de propriétés. Le contrôle utilisateur doit contrôler les propriétés qu'il souhaite exposer pour la fenêtre de propriétés. Le contrôle de l'utilisateur sera également responsable de la validation des propriétés. Les contrôles ne sont pas statiques, cela signifie que les contrôles peuvent être ajoutés en tant que DLL et que ces contrôles seront visibles dans l'interface utilisateur. Je cherche la conception de ce système, pas pour la conception de l'interface utilisateur.Comment concevoir un système permettant l'édition de propriétés

+0

Quelle langue? Quelle technologie? Certains environnements ont ce type de contrôle intégré. – ndp

Répondre

0

Par réflexion, vous pouvez interroger les structures et les valeurs.

La méthode générale serait d'avoir une classe que vous pouvez nourrir une autre classe qui doit être analysée. Vous parcourez ensuite les propriétés de la classe et les présentez dans une liste ou quelque chose de similaire.

Lorsque quelqu'un modifie l'objet GUI, vous mettez à jour la classe en conséquence.

De toute façon, vous n'avez pas spécifié l'environnement que vous utiliserez, mais il semble y avoir plusieurs implémentations que vous pouvez simplement utiliser. À moins que vous ayez des besoins spécifiques, je ne réinventerais pas la roue ici.

Si vous souhaitez utiliser C#, cela me semble bon: http://www.codeproject.com/KB/miscctrl/objectinspectorBySir%20ZeppaMan.aspx

This looks good to me

Pour Delphi, vous pouvez utiliser Raize Inspex. Cela vous permet d'éditer plusieurs objets à la fois.

Inspex Inspex multiple

+0

Mon application est en Silverlight. Je ne veux pas exposer toutes les propriétés. Si j'utilise le reflet alors il me donnera toutes les propriétés définies dans le contrôle. Qu'en est-il de l'utilisation de certains attributs personnalisés? Sera-ce un bon design? Comment puis-je gérer le type de propriétés de la liste déroulante (où l'utilisateur devrait pouvoir sélectionner les valeurs des valeurs données)? –

Questions connexes