Fermer

décembre 7, 2023

Utilisation des accélérateurs de clavier dans .NET MAUI

Utilisation des accélérateurs de clavier dans .NET MAUI


Les accélérateurs clavier, ou raccourcis clavier, sont l’une des dernières fonctionnalités de .NET MAUI, publiées avec .NET 8. Jetons un coup d’œil !

📣 Attention, développeurs ! Le 14 novembre, l’équipe Microsoft a fait une annonce importante : la sortie de la dernière version stable de .NET MAUI, désormais intégrée à .NET 8. 🎉 Il s’agit de leur troisième mise à jour majeure de .NET MAUI en seulement 18 mois, montrant une forte engagement envers l’amélioration continue.

Dans cette nouvelle version, l’accent a été mis sur la rendre la plateforme plus robuste et plus fiable. 🛠️ Ils ont corrigé des bugs à fort impact, travaillé dur pour trouver et corriger les fuites de mémoire, et apporté des améliorations notables au rechargement à chaud, le rendant plus précis et fiable.

Dans cet article, nous nous concentrerons sur le nouveau accélérateur de clavier fonctionnalité pour .NET MAUI. Je vous encourage également à continuer à vous renseigner .NET 8 en explorant cet article.

Et restez à jour avec .NET MAUI avec Sables de MAUIune collection hebdomadaire d’informations sur les développeurs, sous forme de newsletter.

Qu’est-ce qu’un accélérateur de clavier ?

Les accélérateurs clavier, ou raccourcis clavier, permettent aux utilisateurs d’accéder plus efficacement aux fonctionnalités à l’aide de combinaisons de touches. Ces raccourcis évitent aux utilisateurs d’avoir à naviguer dans l’interface utilisateur de l’application pour accéder à la fonctionnalité souhaitée.

Il convient de noter que les accélérateurs de clavier .NET MAUI sont une fonctionnalité qui peut être connectée aux éléments de la barre de menus sur Mac Catalyst et Windows, ainsi qu’aux éléments de menu des menus contextuels sous Windows. Pour plus d’informations sur implémentant des menus dans .NET MAUI, reportez-vous à cet article.

Anatomie de l’accélérateur/raccourci

Ce guide illustre les composants essentiels des raccourcis. Dans un premier temps, vous rencontrerez un exemple détaillé du menu. Chaque champ critique de ce menu est numéroté pour faciliter l’identification et la compréhension, garantissant que vous savez exactement ce qu’il faut rechercher et prendre en compte.

Composants de l'accélérateur de clavier : 1. Modificateurs - Incluez les valeurs suivantes : Shift, Ctrl, Alt, cmd, Windows & None.  2. Touches : comprend : Touches alphanumériques et touches spéciales

Un accélérateur de clavier est représenté par le Accélérateur de clavier classe. Cela sert de touche de raccourci pour un MenuFlyoutItem et définit les propriétés suivantes :

Modificateurs

Les modificateurs représentent la valeur du modificateur. Cette clé est du type ClavierAccélérateurModificateurs, qui énumère les indicateurs de modification pour les accélérateurs de clavier. Les drapeaux disponibles sont les suivants :

  • Aucun: Signifie l’absence de toute touche de modification.
  • Changement: Représente le modificateur Shift, fonctionnel sur les systèmes Mac Catalyst et Windows.
  • Ctrl : Désigne le modificateur Control, applicable dans les environnements Mac Catalyst et Windows.
  • Alt : Sert de modificateur d’option dans Mac Catalyst et de modificateur de menu sous Windows.
  • Commande : Spécifique à Mac Catalyst, indiquant le modificateur Command.
  • Les fenêtres: Exclusif à Windows, représentant le modificateur de touche Windows.

Clés

Les clés sont une chaîne qui représente la valeur de clé du raccourci. Par exemple, considérons « Ctrl + K », où « K » représente la touche désignée.

Formats d’accélérateur de clavier pris en charge

Clé unique

  • Catalyseur Mac : Utilise une seule touche sans modificateurs, tels que F5 pour activer l’action d’un élément de menu.
  • Les fenêtres: Peut utiliser une seule touche avec ou sans modificateurs, par exemple : F5 ou ALT+F5.

Clé multiple

Pour les deux plates-formes, les accélérateurs de clavier peuvent combiner un ou plusieurs modificateurs avec une seule touche, comme CMD+MAJ+S ou CMD+Spour déclencher l’action d’un élément de menu.

Comment le faire dans le code ? 🤔

Pour lier un KeyboardAccelerator à un MenuFlyoutItem (qui nous permet de créer des menus), c’est un processus simple. Incluez simplement le <MenuFlyoutItem.KeyboardAccelerators> balises et à l’intérieur, incluez le KeyboardAccelerator avec son Modificateur et son Clé.

Bien que cet article n’approfondisse pas les spécificités des menus, je fournirai une référence à leur structure pour vous aider à comprendre chaque étape. Pour des informations plus détaillées sur la création de menus, je vous recommande l’article « Ajout de menus contextuels à nos applications de bureau avec .NET MAUI

FlyoutBase.ContextFlyout, MenuFlyoutSeparator et MenuFlyoutSubItem.

Voyons le code :

<MenuFlyoutItem Text="Go to Menu"
    Clicked="OnGoToMenuClicked">
                     
  <MenuFlyoutItem.KeyboardAccelerators> 
    <KeyboardAccelerator Modifiers="Ctrl" 
        Key="H" /> 
    </MenuFlyoutItem.KeyboardAccelerators> 
  </MenuFlyoutItem>

✍️ Considérations supplémentaires

Ajout de plusieurs modificateurs

Pour indiquer plusieurs modificateurs, séparez-les simplement par une virgule. Par exemple: Modifiers="Shift,Ctrl".

<KeyboardAccelerator Modifiers="Shift,Ctrl"
    Key="F" />

Clés et modificateurs par plate-forme

Vous avez également la possibilité de définir des valeurs spécifiques pour les clés et les modificateurs par plateforme à l’aide du OnPlatform extension de balisage. (Pour plus d’informations sur cette extension, visitez l’article «8 extensions de balisage très utiles dans .NET MAUI. »)

<KeyboardAccelerator Modifiers="{OnPlatform MacCatalyst=Cmd, WinUI=Windows}"
    Key="{OnPlatform MacCatalyst=T, WinUI=C}" />

Utiliser des touches spéciales

Logo Windows Sous Windows :

Il existe des clés spéciales qui peuvent être représentées soit par une chaîne constante, soit par un entier. Jetez un oeil à Table de VirtualKey.

Logo Mac Sur Mac :

Mac définit également ses clés spéciales, qui peuvent être spécifiées à l’aide d’une chaîne constante. Voir le Chaînes d’entrée pour les clés spéciales.

Exemple de code :

Dans cet exemple, l’accélérateur clavier est réglé sur la touche F1, définie comme une constante pour les deux plateformes. Sous Windows, vous pouvez également le spécifier en utilisant la valeur entière 112.

<MenuFlyoutItem.KeyboardAccelerators> 
  <KeyboardAccelerator Modifiers="None" 
      Key="{OnPlatform MacCatalyst=UIKeyInputF1, WinUI=F1}" />
</MenuFlyoutItem.KeyboardAccelerators>

Quelques points à souligner

Les accélérateurs de clavier peuvent être connectés à MenuFlyoutItem objets dans MenuBarItem sur Mac Catalyst et Windows, et pour MenuFlyout sous Windows.

🚫 Limites

Clés spéciales : Les touches de manette de jeu virtuelle ne sont pas prises en charge sous Windows.

Conclusion

🚀 Désormais, vous êtes prêt à ajouter des raccourcis aux menus de vos applications ! Gardez à l’esprit d’explorer continuellement les nouvelles fonctionnalités passionnantes de .NET 8 dans .NET MAUI ! 👀 À plus tard ! 🎉 💚💕

Les références

Cet article était basé sur la documentation officielle :




Source link

décembre 7, 2023