Dans une salle pleine à craquer, Mitsuru FURUTA et Sébastien PERTUS nous ont présenté les nouveautés de WPF 4.

Petit retour sur le modèle de données de XAML : il s'agit du modele O-M-V pour Object-Member-Value.

Exemples :

  1. Button : Object
  2. Background : Member
  3. Red : Value

Première grande nouveauté, toutes les APIs orbitant autour de l'utilisation du XAML se trouvent unifiées dans System.Xaml.dll.

Actuellement on peut (de)sérialiser des objets avec XAMLWriter et XAMLReader(oui, à la base le XAML c'est de la sérialisation d'objets !) et désormais ces deux classes seront des classes abstraites. Plusieurs classes font leurs apparitions pour permettre l'export et l'import sous plusieurs formats : XML, BAML(binaire), sous la forme d'arbre, etc....

L'arrivée de .NET 4.0 apporte le support complet de XAML 2009 et facilite le travail des développeurs :

  1. Accès simplifiés aux types de bases : x:Boolean, ...
  2. Support des types génériques (pratique notamment pour les ObservableCollection) (x:TypeArguments ),
  3. Accès aux constructeurs nécessitant des arguments à l'aide de x:Arguments,
  4. L'utilisation des attributs Target des Label est simplifiée à l'aide de la markupExtension x:Reference,
  5. Possibilité d'appeler des méthodes statiques avec x:FactoryMethod...

Aussi on voit apparaitre XAMLDOM : modèle XAML interrogeable via LINQ. Il représente un objet XAML sous la forme d'un objet CAMLDomObject. Cela permet de faire un code bien plus concis lorsque l'on manipule du XAML dans le code C#. Cela permet de plus d'ajouter des règles d'analyse statique du code via FxCop

La session s'est terminée par une démonstration de Mitsuru qui nous as montré (une fois de plus) son grand talent en sérialisant des expressions lambdas en XAML : une calculatrice en XML!