SOMMAIRE

Envie d’aller plus loin ? Échangez directement avec l’un de nos experts.

Avec XAML on utilise souvent des Converters lors d'un Binding pour adapter la donnée source vers le type destination. Par exemple le Converter BooleanToVisibilityConverter convertit une valeur booléenne en une valeur de l'énumération Visibility.

Ce mécanisme est très pratique mais on peut se retrouver rapidement avec beaucoup de converters du type :

  • BooleanToVisibilityConverter
  • InverseBooleanConverter
  • EnumerableToBooleanConverter
  • etc.

Au lieu de créer des Converters spécifiques à chaque cas il vaut mieux essayer de les rendre génériques afin de les réutiliser dans un maximum de cas et ainsi éviter leur multiplication. Par exemple les converters ci-dessus peuvent se résumer en un seul Converter : BooleanToValueConverter. A chaque fois la source est une expression booléenne (égal vrai, est null, est vide), seule la valeur en sortie diffère. Il suffit donc de la rendre éditable. Pour cela il est possible de définir des propriétés dans les Converters :

public class BooleanToValueConverter : IValueConverter 

On peut maintenant utiliser ce Converter dans différents cas :

 
   True 
   False 
    
    
    

Nous avons maintenant un seul Converter mais celui-ci n'est plus limité à un seul cas d'usage.

Le code complet est disponible ici.

Qualité logicielle

Ne ratez plus aucune actualité avec la newsletter mensuelle de SoftFluent

Newsletter SoftFluent