Découvrir Windows Presentation Foundation

Comprendre l'arbre WPF et la propriété Content

Testez gratuitement nos 1246 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Abordez les notions d'arbre visuel et d'arbre logique en WPF. Puis, découvrez la propriété Content de tous les éléments du framework.
05:40

Transcription

Nous avons donc commencé pratiquement à travailler avec notre environnement graphique, notre espace ici, en XAML. Juste une ou deux notions pour bien commencer à travailler. J'ai ici un Window, à l'intérieur une grid, à l' intérieur un bouton. J'ai donc une forme de hiérarchie. C'est ce qu'on appelle l'arbre en WPF et il y a deux arbres. Vous avez un arbre logique et un arbre visuel. La différence n'est pas très importante, à moins comme autre un peu plus dans les détails du WPF. Mais ce que ça veut dire c'est qu'on a d'abord un arbre visuel qui est tout ce qui peut être affiché à l'écran et finalement qu'est-ce que j'affiche ? Une zone, un bouton, ce bouton a un bord, etc. Et les différents éléments forment un arbre visuel qui peut être assez complexe, parce qu'à l'intérieur du bouton bah il y a autre chose à afficher, par exemple « Bonjour » etc. Et puis on a un arbre logique un peu plus simple à parcourir qui est simplement les éléments que vous voyez ici qui sont des objets. Nommer les éléments les uns dans les autres et donc au niveau de notre XML on a bien une racine qui est Window et puis à l'intérieur on a des propriétés et puis vous voyez qu'ici et bien je n'ai pas indiqué à l'intérieur de Window qu'il s'agissait de quelque chose en particulier, c'est à dire je n'ai pas indiqué qu'il s'agissait d'une propriété particulière de Window. J'ai simplement rajouté grid, si vous travaillez avec XML ça ne vous choque pas, mais là on est dans de l'affichage : « Qu'est-ce que c'est que ce gride dans Window ? ». Comment on le positionne logiquement dans la hiérarchie d'objets ? Parce que quand vous avez un objet et que vous voulez rajouter quelque chose dans l'objet, on est d'accord, il faut en faire une propriété et est-ce que grid est une propriété de Window ? Eh bien oui, et il s'agit d'une propriété qui s'appelle content. Vous voyez ici un content qui est défini en termes d'attributs. Et bien là j'ai un content de Window qui est défini ici comme un élément. Si j’essaye de faire ça, par exemple. Et que je rajoute une deuxième grille en dessous. Et bien rien ne va plus, parce qu'on va me dire la propriété content de Window est définie plusieurs fois. Ici donc j’essaye de définir d'abord content une fois et puis content une deuxième fois et je peux en avoir qu'une seule. Donc voyez qu' il y a une sorte de maping entre l'affichage que vous avez en XAML et puis la façon dont on va générer des propriétés finalement derrière. Et ce que vous allez d'avoir faire donc c'est faire une Window, ensuite un grid ou autre chose, là c'était là grid par défaut, mais on ne va pas en forcément garder ça comme ça. Et puis éventuellement à l’intérieur d'autre contrôle. Juste au passage si je vais ici sur structure du document que je peux trouver dans Affichage, Autres fenêtres et ici Structure du document eh bien je vais là de toute façon. Et bien je vais avoir graphiquement mon arbre logique à disposition pour aller directement dans le bouton, dans ma grille etc. Et par rapport à cette notion de content, parce que je pourrais le faire comme ça : Window.Content et dire : « Eh bien voilà le contenu ». Mais j'ai pas besoin de le faire, vous voyez ça marche très bien, je vous compile, on n'a aucun changement. Et je n'ai pas besoin de le faire, parce que finalement c'est la propriété par défaut si je ne mets rien, OK ? Donc, j'enlève ça, inutile. Et ce qui est intéressant c'est que vous constatez, ici, j'ai un bouton, et j'ai mis le Content à une chaîne de caractère, ça paraît assez logique que le contenu du bouton, soit simplement du texte. Par contre je ne m’aperçois que le contenu de la fenêtre de Window est un peu plus complexe que ça et ça peut être très complexe. Et ce qu'il faut comprendre c'est que ce content qui est disponible dans tous les contrôles eh bien c'est un type particulier qui s'appelle ContentControl donc c'est une classe et ça peut être plus que du texte manifestement. Et comme c'est dans la classe Control tout ce qui dérive de contrôle peut avoir un Content qui est un ContentControl et qui peut être un type riche, c'est à dire quelque chose qui contient d'autres contrôles, par exemple. Alors je vais vous montrer. J'enlève ceci et maintenant je vais définir ici mon content non plus sous forme d'attribut, mais sous forme d'élément. Je ferme le bouton. Et je vais maintenant ajouter un content qui peut être par exemple un autre bouton. C'est pour vous montrer. Et là je vais dire que son content c'est coucou, je peux fermer comme ça un autre bouton, allons-y et voir si ça marche. Eh bien oui, voyez j'ai un bouton dans un bouton. En général pas de faire un bouton dans un bouton, mais on va mettre quelque chose comme une image, ou bien rectangle avec une certaine couleur. Et donc mon bouton, il n'est plus limité comme dans un ancien à pays a purement du texte, je peux mettre vraiment ce que je veux dedans, parce que le content peut être très riche. Et donc ça, ça me permet une très grande richesse pour définir mes interfaces graphiques.

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 !