Le système sur lequel je travaille utilise un grand nombre de types de valeurs personnalisés en interne. Je travaille sur une interface utilisateur prototype en utilisant WPF. WPF ne sait pas comment afficher les types personnalisés. Je sais que je peux écrire un ValueConverter personnalisé pour ce faire, mais je ne veux vraiment pas avoir à spécifier l'utilisation d'un convertisseur chaque fois que je me lie à une classe dans mon XAML.Affichage d'un type de valeur personnalisé dans WPF sans utiliser de convertisseur de valeur
Existe-t-il une interface que je peux implémenter dans le type de valeur personnalisée qui permettra à WPF de savoir comment l'afficher de manière native?
Ou est-il possible de spécifier un convertisseur de valeur à l'échelle de l'application qui s'appliquera à n'importe quelle instance de notre type personnalisé, sans avoir à spécifier ValueConveter dans chaque expression de liaison?
** Ceci est une mauvaise idée, et une mauvaise solution au problème. ** Vous devriez utiliser un 'DataTemplate' par défaut dans votre 'App.xaml' ou' Themes/Generic.xaml' à la place. La création de modèles est ce qui rend WPF puissant: Le même objet peut être différent dans différentes parties de votre application ou dans différentes applications, et vous obtenez une séparation claire entre votre couche de données et votre interface utilisateur. Un principe fondamental de la bonne conception de WPF est que votre couche de données ne devrait rien savoir de l'interface utilisateur. Il y a beaucoup de bonnes raisons à cela. L'utilisation d'un TypeConverter qui connaît l'interface utilisateur enfreint gravement ce principe. –
@Ray Burns: Les solutions sont parfaitement adaptées aux types de valeurs personnalisés - j'ai par exemple des types de chaînes, décimales et booléens personnalisés pour faciliter la conversion et l'accès à la base de données –