Developpez.com - Microsoft DotNET
X

Choisissez d'abord la catégorieensuite la rubrique :


Compte-rendu de conférence

Par MORAND Louis-Guillaume (Page perso de Louis-Guillaume MORAND)
 

Conférence sur le data-binding avec WPF




1. Qui est Ian Griffiths?

Ian Griffiths est un consultant indépendant sur la technologie .Net. Il est (ou a été) formateur pour différentes sociétés de formation. Aujourd'hui il passe son temps entre le consulting et les conférences, et continue d'écrire des livres principalement sur Windows Vista/Longhorn ainsi que Windows Presentation Foundation

Son en blog


2. Résumé

Il va être difficile de vous expliquer clairement ce en quoi le data-binding change avec WPF car il n'est plus tout pareil. Pour binder une source à un contrôle, votre code ressemblera plus à cela:
<Texblock Text="{Binding Path=CurrentCulture, Source={x:Static t:Thread.CurrentThread}}>
De plus, le data-binding peut se faire à un niveau un peu supérieur au contrôle (son containeur) afin par exemple de ne spécifier qu'une seule fois la source (data context) et puis de spécifier pour chaque contrôle sa cible (member).

Parallèlement à cela, l'on voit apparaître des DataTemplate qui peuvent être stockés dans un fichier ressources pour être appelés plusieurs fois, et qui permettent de spécifier la forme d'affichage du binding. On peut ainsi binder une liste d'utilisateurs (nom + prénom + avatar) à une listview et appliquer tel ou tel template de binding. Dans un premier cas nous pourrions afficher "name : {nom} {prénom}" ou dans un autre cas appliquer le thème complet "{image} {nom} {prénom}", ce qui, en une ligne de code permet de choisir l'affichage désiré.

Deux agréables surprises pour cette fonctionnalité sous WPF, tout d'abord l'utilisation d'XPath pour binder les éléments, ce qui permet très rapidement de n'avoir pas à extraire telles ou telles données afin de les binder mais de binder "à la volée".
La seconde surprise concerne le data-binding hiérarchique et les hierarchicalDataTemplate, qui lorsque vous aurez pris la peine de chercher à quoi ils servent permet de binder de façon hiérarchique les données sur certains contrôles comme les treeview. Ainsi, représenter le contenu d'un fichier XML sur plusieurs niveaux (nœuds) prend exactement 4 lignes de codes, zéro boucle, et l'on obtient un treeview dépliant représentant fidèlement notre fichier XML.


3. Conclusion

Le data-binding prend une toute autre dimension par rapport au simple couple datasource/datamember que nous avions l'habitude d'utiliser. Mêlé à des templates, la data-binding permet de donner à nos applications, et à tous les éléments pouvant contenir des items, une évolutivité sans limite, permet d'afficher rapidement et de façon claire toutes les informations nécessaires.


4. Liens complémentaires

Site communautaire de Windows Presentation Foundation : en ici
Articles sur WPF par Jean-Alain Baeyens : ici
Tutoriel sur Windows Presentation Foundation par Thomas Lebrun : ici
Wikipedia de WPF : en ici



Valid XHTML 1.1!Valid CSS!

Copyright © 2006 Louis-Guillaume MORAND Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Responsable bénévole de la rubrique Microsoft DotNET : Hinault Romaric -