Le 14 septembre 2017, nous avons publié une version actualisée de notre Politique de confidentialité. En utilisant video2brain.com vous vous engagez à respecter ces documents mis à jour. Veuillez donc prendre quelques minutes pour les consulter.

Découvrir Windows Presentation Foundation

Créer des styles pour les contrôles

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Vous allez apprendre à créer des styles sur des types de contrôles pour uniformiser votre charte graphique.
08:05

Transcription

J'ai diminué un peu l'affichage, je suis revenu à 100 % ici, de façon à ce qu'on voie plus de choses dans l'écran, j'ai également repris ma colonne du milieu en auto, j'ai mis mon Column Span à trois, je suis revenu avec mon splitter qui fait un stretch sur ma colonne du milieu, et je suis prêt à aller un peu plus loin. J'exécute pour voir le résultat. On a donc notre affichage qui est un peu triste, c'est des boutons gris avec des polices noires, c'est assez standard, Mais, comment est-ce qu'en WPF, je vais changer les données graphiques, par exemple de mes boutons, est-ce que je peux changer les couleurs, etc. Oui, je peux le faire directement dans le bouton avec des propriétés du bouton mais comme il y a une influence du côté html, je peux aussi utiliser la notion de style. Et l'intéressant de cette notion de style, parce que comme dans le html où vous avez des styles pour le document ou des feuilles de style en css, et si vous connaissez un peu css, ça veut dire Cascading Style Sheets, vous avez la notion de feuilles de style en cascade qui héritent les unes des autres. Alors, ne serait-ce que le style, je peux définir un style par objet, mais je peux aussi définir un style sur une ressource d'un objet parent, comme ceci. Je fais ici un élément de propriété. Donc je vais ajouter aux ressources un style qui va être un objet. Et ce style, il faut que je lui rajoute son type de cible. Sur quel type de contrôle il va s'appliquer. Pour cela, je prends sa propriété Target Type. Je vais dire que c'est, par exemple, un button. Et je vais modifier mes boutons. À l'intérieur de mon style, il faut que j'aie un mécanisme pour attribuer des valeurs à des propriétés de cet objet. Pour que ce soit suffisamment générique, WPF utilise un objet de type Setter et mon setter va pouvoir définir quelles propriétés et quelles valeurs je vais attribuer à ma propriété. Donc, je vais faire un setter pour une propriété en particulier, Par exemple, la couleur de fond, Background, et je vais lui donner une valeur et vous voyez qu'inteliscence est suffisamment intelligent pour me dire "Background, c'est un type qui est une couleur." Et puis on reprend cette notion, vous vous souvenez, de convertisseur de type, de type converter, où je peux mettre en toutes lettres quelque chose comme Yellow, par exemple. Et bien mon yellow va être, par le type converter, converti en une constante. On va voir ce que ça donne. Je me suis contenté d'ajouter un style dans les ressources de la fenêtre. Ce style s'applique au bouton. Et j'ai changé une propriété avec un setter, comme on a l'habitude de faire des setters dans des propriétés purement dans des classes, et j'ai dit "Je fais un setter d'une propriété background et je le mets à yellow." D'accord. Donc, on essaye. Et voilà qui a suffi à modifier le background de tous les boutons de ma fenêtre. Je vous le disais, en plus, on peut avoir une notion de cascade. Regardez. Je vais faire comme ceci. Je vais créer un style supplémentaire, toujours pour Target Button, et cette fois-ci, je vais changer la propriété Foreground. Et je vais dire "Sa valeur va être par exemple, la couleur bleue. Je vais enlever ça. Je vais le faire de façon simplifiée. Je vais prendre deux autres propriétés pour que ce soit bien lisible, par exemple, je vais changer le Font Weight. Donc, je vais décider d'utiliser une police en gras, Bold. Je vais changer également, allez, la taille de la police, Font Size. Je vais mettre quelque chose d'assez grand pour que ce soit lisible. 20 par exemple. Donc il s'agit de 20 points. Je vais essayer. Ça ne va pas marcher parce que ça compile mais par contre à l'exécution, j'ai un XamlParseException. Donc, on n'a pas réussi à parser correctement ceci. Pourquoi ? Parce que j'ai deux styles, finalement, qui s'appliquent à la même cible et,ce qu'il faut que je fasse d'abord, c'est que je nomme mes styles, que je leur donne une clé avec x : Key. Et je vais dire, par exemple, style 1. Est-ce que ça marche ? Vous vous souvenez, le style 1 me donne un background en yellow, et le style que je n'ai pas encore nommé me donne du bleu en font ground, du gras et 20. Donc, j'ai bien du bleu en gras, par contre je n'ai pas de jaune parce que, finalement, ce style a été complètement oublié. Ce que je peux faire, maintenant, c'est utiliser, donc on se souvient, je l'ai appelé style 1, mon style 1 pour un bouton en particulier. Je vais faire ça comme ceci. Je prends mes attributs de propriété, je rajoute ici l'attribut style Et pour cela, je vais utiliser une extension de mark up donc souvenez-vous, je vais faire comme ça, pour dire "Je veux une ressource statique, Static Resource." C'est-à-dire quelque chose qui est dans la liste des ressources statiquement disponibles ici. Et je vais utiliser, soit cette syntaxe complète pour dire style 1, donc je vais chercher la clé de la ressource, soit j'ai la syntaxe qui est positionnelle et non pas nommée pour dire "Prends le style 1." On va voir ce que ça donne. Donc, maintenant j'ai appliqué le style 1 à mon bouton et l'autre, comme le style n'est pas nommé, et bien j'ai appliqué le style par défaut. Ce que je peux faire également si je reviens sur mes styles, c'est de dire qu'il y a une cascade. Mon style, donc le style non nommé il ne peut y en avoir qu'un seul pour un target type, c'est celui-ci. Mais je peux dire qu'il va se baser, donc avec Based on, sur un style déjà existant. Et je vais réutiliser cette syntaxe en extension de mark up pour dire "Tu te bases sur une ressource statique qui est le style 1." À ce moment-la, ce style, se basant sur le style 1, va intégrer ces modifications de la façon suivante. On va venir ici sans arrêter le débogage. Donc mon bouton OK, il se base sur le style qui est le style 1 et donc il ne prend pas en compte le style qui a été attribué par défaut puisque je l'ai forcé à appliquer seulement le style 1. Par contre, ce bouton applique le style par défaut qui hérite du style 1. Donc sur le premier bouton, je n'ai que les propriétés du style 1 et sur le deuxième bouton, j'ai les propriétés du style par défaut non nommé mais qui a hérité du style 1. Et donc ceci vous permet de nommer vos styles avec la clé, de les utiliser différemment dans vos contrôles, si vous le souhaitez, ou, si j'enlève ça, d'appliquer automatiquement à tous les enfants un style prédéfini dans les ressources du parent qui peut être la window, qui pourrait être à un niveau supérieur, également l'application, ou qui pourrait à un niveau supérieur dans l'application toute entière.

Découvrir Windows Presentation Foundation

Améliorez la qualité de vos interfaces graphiques avec WPF (Windows Presentation Foundation). Découvrez le langage XAML, définissez votre interface graphique manuellement, etc.

3h12 (40 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :12 mai 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !