Fermer

juin 8, 2021

Thème de votre interface utilisateur Telerik pour les projets WinForms avec style


Il n'a jamais été aussi facile de thématiser l'interface utilisateur Telerik pour les contrôles WinForms. Nous avons récemment publié une API vous permettant de spécifier un thème par défaut. Plus tard, ce thème est utilisé à la fois dans les concepteurs de Visual Studio et par l'application au moment de l'exécution.

Précédence du thème

Avant d'entrer dans les détails expliquant comment tout cela fonctionne, nous devons clarifier quelques points. Toutes les commandes Telerik ont ​​un thème, même si vous n'en définissez pas. Un thème peut être défini par contrôle (sa propriété ThemeName) ou pour l'ensemble de l'application. Dans le cas où aucun des éléments ci-dessus n'est défini, les contrôles utilisent leur thème par défaut, qui est le ControlDefault. Notre moteur évalue le thème d'un contrôle particulier avec la priorité suivante :

  1. Thème par défaut – au cas où le ThemeName du contrôle n'est pas défini
  2. Thème local – la propriété ThemeName du contrôle est définie
  3. Thème à l'échelle de l'application – au cas où la propriété statique ThemeResolutionService.ApplicationThemeName est définie

Background

Nous voulions vraiment changer le ControlDefaultTheme, qui, comme son nom l'indique, est utilisé comme thème par défaut par nos contrôles. La raison de ce changement est que ce thème est ancien, ressemblant en fait à Microsoft Word 2007.

Nous suivons constamment les dernières tendances de l'interface utilisateur et nous avons toujours eu des thèmes modernes – pensez simplement à notre Fluent, Material, Crystal (inspiré de MacOS ), Office2019, Metro, etc. conceptions. Peu importe tous ces beaux thèmes, toujours en 2021, lorsque vous avez fait glisser un contrôle de la boîte à outils, vous avez obtenu ControlDefault qui est un look de 2007 ans. 😲

Ce n'est pas que le thème soit mauvais, il est simplement dépassé, par ex. L'interface utilisateur moderne est plus plate et ne repose pas beaucoup sur les dégradés, contrairement au thème ControlDefault. C'était simplement la tendance en 2007.

ControlDefault vs. Fluent

controldefault vs. fluent montrant comment les styles 2007 utilisaient le bleu pour l'arrière-plan par rapport aux blancs et aux gris, et maintenant le le design est plus plat.

Approche du thème par défaut

Nous avons recherché diverses options pour savoir comment implémenter un nouveau thème par défaut. Changer simplement ControlDefault en Fluent pourrait fonctionner, mais nous ne voulions pas le faire. Si vous étiez nouveau sur Telerik, ce serait bien, mais si vous aviez un projet existant avec le thème ControlDefault et que vous mettiez à niveau vos contrôles, tout d'un coup, ils changeraient. Ce changement n'est peut-être pas souhaité ; de plus, cela nécessiterait très certainement des changements dans la disposition du formulaire – certains des contrôles pourraient devoir être réorganisés. Changer le thème dans un projet existant est une décision qui doit être prise par vous, le développeur. Réalisant cela, nous avons décidé d'utiliser un paramètre de fichier App.config, où vous pouvez définir quel thème est utilisé par défaut.

Fluent Theme in the App.config

C'est aussi simple que de définir le thème Fluent comme par défaut dans le fichier App.config du projet. Ajoutez simplement la clé TelerikWinFormsThemeName et spécifiez Fluent :

Comment ça marche ? Nous inspectons le fichier App.config et si nous trouvons un paramètre de thème par défaut, nous utilisons ce thème et définissons la propriété ThemeResolutionService.ControlDefaultThemeName. Avec le fichier de configuration ci-dessus, le thème Fluent sera utilisé à la fois dans les concepteurs Visual Studio et au moment de l'exécution.

Afin d'appliquer le nouveau thème aux contrôles de la surface de conception, fermez simplement tous les concepteurs, puis ouvrez un concepteur arbitraire. avec un contrôle Telerik dessus. À partir de 2020 R3 et en raison de cette nouvelle API de thème par défaut, le thème Fluent est chargé par l'assembly Telerik.WinControls, et pour l'utiliser, il n'est pas nécessaire d'installer le type FluentTheme.

Si vous souhaitez définir le Thème Fluent pour un contrôle particulier, il vous suffit de définir sa propriété ThemeName, sans avoir besoin de faire glisser le composant FluentTheme de la boîte à outils :

this.radButton1.ThemeName = "Fluent";

En d'autres termes, maintenant le Le thème Fluent est statiquement disponible partout, tout comme le ControlDefault. Le type FluentTheme n'est plus nécessaire et il ne reste plus qu'à des fins de compatibilité descendante. Idem avec le composant de boîte à outils et l'assemblage Telerik.WinControls.Themes.Fluent.

Visual Studio Extensions

L'extension Telerik UI pour WinForms dans Visual Studio est maintenant mis à jour pour gérer le thème par défaut. Premièrement, lorsque vous utilisez le modèle vierge pour créer un nouveau projetnous ajouterons un fichier App.config et spécifierons Fluent comme thème par défaut. De cette façon, votre nouveau projet sera moderne dès le début.

Pour les projets plus anciens et pour les projets manquant d'un thème Telerik dans le fichier de configuration, notre extension affichera une boîte de dialogue lors du glisser-déposer d'un contrôle depuis la boîte à outils. Nous vous demanderons si vous souhaitez activer Fluent comme thème par défaut.

Dialogue demandant : Voulez-vous activer le thème Fluent par défaut ? Nous le recommandons pour les nouveaux projets...

Si vous dites nonnous ne vous le demanderons plus. Vous pouvez également configurer l'extension à l'aide de la boîte de dialogue Options dans Visual Studio et spécifier s'il faut être invité pour le thème Fluent.

Autres thèmes par défaut

L'approche que nous avons adoptée avec le paramètre de thème par défaut dans l'App.config nous donne la liberté de prendre en charge n'importe quel thème par défaut. Ce n'est pas seulement Fluent, cela peut être n'importe quel thème Telerik, et pas seulement cela, mais cela peut aussi être votre propre thème personnalisé. 😊

Pour les thèmes autres que ControlDefault et Fluent, nous devons connaître leur assemblage afin de pouvoir les charger. Pour les thèmes Telerik, si vous manquez la référence d'assemblage requise, nous afficherons le message suivant :

Référence d'assemblage manquante : le thème Office2019Light est défini par défaut dans le fichier App.config. Pour utiliser ce thème, fermez tous les concepteurs et ajoutez la référence d'assemblage manquante...

Un indice : En supposant que vous ayez une installation, le moyen le plus simple d'ajouter l'assemblage manquant est de faire glisser et déposer le thème requis composant de la boîte à outils.

Il est également possible de créer votre propre thème personnalisé, de le définir dans son propre assembly et de l'exposer en tant que composant de thème. Si vous souhaitez utiliser ce thème par défaut, vous devrez également spécifier le nom de l'assembly et le type de thème dans le fichier app.config.

Voici des exemples de paramètres d'un thème avec le nom LightCoraldéfini dans le type LightCoralClassLibrary.LightCoralTheme (nous avons également besoin de l'espace de noms), et fait partie de l'assembly LightCoralClassLibrary.

 

   

 

 

   

 ]   

   

 

Essayez-le

Assurez-vous de télécharger et d'essayer la dernière version de Telerik UI for WinForms pour explorer toutes les nouvelles fonctionnalités et thèmes : https://www.telerik.com /download-trial-file/v2-b/ui-for-winforms.

Nous aimerions savoir comment tout cela fonctionne pour vous, alors faites-nous part de vos commentaires en visitant notre Commentaires Portal ou en laissant un commentaire ci-dessous.




Source link