Dans mon outil DSL personnalisé, je souhaite qu'un noeud de l'Explorateur ne puisse pas être supprimé. À part ça, je veux que ce soit comme un nœud régulier. Au fond ce que je veux est un noeud comme le Xml sérialisation Comportement dans l'explorateur DSL:Noeud permanent dans l'explorateur DSL
Grâce à l'aide du réflecteur sur la classe XmlSerializationDefinitionSerializer dans l'assemblée Microsoft.VisualStudio.Modeling.Sdk.DslDefinition.dll I J'ai découvert que c'est juste un dérivé de DomainClass, donc il n'y a rien (évidemment) de spécial à ce sujet.
J'ai défini une DomainClass qui fonctionne comme le nœud, et un clic droit, il me permet d'ajouter des sous-noeuds juste la façon dont je veux travailler, je ne peux pas se débarrasser de ce menu Supprimer choix:
Delete context menu item illustration http://img705.imageshack.us/img705/9033/validators.png
J'ai essayé tout ce que je peux penser ... Je me suis fixé le poseur de propriété au privé, il se déplace, je l'ai mis à la multiplicité 1..1, qui n'a pas autre effet que de donner des erreurs quand le noeud "Validators" est manquant ... J'ai regardé toutes les propriétés à la fois pour la DomainClass et pour la DomainRelationship entre le modèle racine et la Validator Domain Class et aucun d'entre eux ne semble traiter . J'ai également regardé tout dans le nœud Explorer Behavior dans la fenêtre DSL Explorer. Je suis complètement perplexe. Est-ce que quelqu'un sait comment faire cela?
+1. Bien fait. J'adore les outils DSL et c'est bien que vous ayez répondu à la question. –