J'ai une fenêtre qui fonctionne comme le concepteur de Visual Studio. Chaque document a deux vues :
- Vue de la source,
- Vue du designer.
J'ai une barre d'outils qui peut émettre différentes commandes. Le bouton de la barre d'outils possède une propriété de type chaîne CommandId qui stocke l'identifiant de la commande, par exemple :
- Couper, copier, coller ;
- Insérer la grille,
- Format automatique
- ...
J'ai du mal à concevoir un modèle de commande où l'exécution de la commande est différente selon la vue.
Pour un exemple évident, le Commande de copie copiera le texte sélectionné dans la fenêtre Vue de la source mais il copiera le contrôle sélectionné lorsqu'il se trouve dans la fenêtre Vue de l'architecte .
Je suis en train de cartographier le commandId à une chaîne CopyCommand mais comme l'exécution de la commande est différente selon la vue, je ne suis pas sûr de la manière dont cela doit être mis en œuvre.
-
Si chaque vue fournit une liste de commande concrète qu'elle comprend (et donc ayant deux CopyCommand comme Commande SourceCopyCommand y DesignCopyCommand qui partagent le même identifiant) ?
-
Ou bien chaque commande doit-elle être unique, mais la vue a une grande fonction de mappage qui change le comportement en fonction de l'identifiant de la commande ?