Cette procédure pas à pas s’appuie sur la démonstration dans Ajouter un menu à la barre de menus Visual Studio en montrant comment ajouter un sous-menu au menu TestMenu .
Un sous-menu est un menu secondaire qui apparaît dans un autre menu. Un sous-menu peut être identifié par la flèche qui suit son nom. Le fait de cliquer sur le nom entraîne l’affichage du sous-menu et de ses commandes.
Cette procédure pas à pas crée un sous-menu dans un menu de la barre de menus de Visual Studio et place une nouvelle commande dans le sous-menu. La procédure pas à pas implémente également la nouvelle commande.
Ajouter un sous-menu à un menu
Suivez les étapes décrites dans Ajouter un menu à la barre de menus de Visual Studio pour créer le projet et l’élément de menu. Les étapes décrites dans cette procédure pas à pas supposent que le nom du projet VSIX est TopLevelMenu.
Ouvrez TestCommandPackage.vsct. Dans la <Symbols> section, ajoutez un <IDSymbol> élément pour le sous-menu, un pour le groupe de sous-menus et un pour la commande, tous dans le <GuidSymbol> nœud nommé « guidTopLevelMenuCmdSet ». Il s’agit du même nœud que celui qui contient l’élément <IDSymbol> du menu de niveau supérieur.
La paire GUID/ID du parent spécifie le groupe de menus généré dans Ajouter un menu à la barre de menus Visual Studio et est un enfant du menu de niveau supérieur.
Ajoutez le groupe de menus défini à l’étape 2 à la <Groups> section et définissez-le comme enfant du sous-menu.
Générez la solution et commencez le débogage. Vous devez voir l’instance expérimentale.
Cliquez sur TestMenu pour afficher un nouveau sous-menu nommé Sub Menu. Cliquez sur Sous-menu pour ouvrir le sous-menu et voir une nouvelle commande, Test Sub Command. Notez que le fait de cliquer sur La sous-commande test ne fait rien.
Ajouter une commande
Ouvrez TestCommand.cs et ajoutez l’ID de commande suivant après l’ID de commande existant.
public const int cmdidTestSubCmd = 0x0105;
Ajoutez la sous-commande. Recherchez le constructeur de commandes. Ajoutez les lignes suivantes juste après l’appel à la AddCommand méthode.
CommandID subCommandID = new CommandID(CommandSet, cmdidTestSubCmd);
MenuCommand subItem = new MenuCommand(new EventHandler(SubItemCallback), subCommandID);
commandService.AddCommand(subItem);
Le SubItemCallback gestionnaire de commandes sera défini ultérieurement. Le constructeur doit maintenant ressembler à ceci :
private TestCommand(Package package)
{
if (package == null)
{
throw new ArgumentNullException("package");
}
this.package = package;
OleMenuCommandService commandService = this.ServiceProvider.GetService(typeof(IMenuCommandService)) as OleMenuCommandService;
if (commandService != null)
{
var menuCommandID = new CommandID(CommandSet, CommandId);
var menuItem = new MenuCommand(this.MenuItemCallback, menuCommandID);
commandService.AddCommand(menuItem);
CommandID subCommandID = new CommandID(CommandSet, cmdidTestSubCmd);
MenuCommand subItem = new MenuCommand(new EventHandler(SubItemCallback), subCommandID);
commandService.AddCommand(subItem);
}
}
Ajoutez SubItemCallback(). Il s’agit de la méthode appelée lorsque la nouvelle commande du sous-menu est cliqué.
Générez le projet et commencez le débogage. L’instance expérimentale doit apparaître.
Dans le menu TestMenu , cliquez sur Sous-menu , puis sur Test Sub Command. Une zone de message doit apparaître et afficher le texte « Test Command Inside TestCommand.SubItemCallback() ».
Découvrez les techniques avancées de personnalisation des barres de commandes dans les applications Power Apps pilotées par modèle, notamment l’implémentation de JavaScript et les fonctionnalités d’enregistrement automatique.