Dans mon application M-V-VM, je dois montrer l'avatar de l'utilisateur. L'image est fournie dans une propriété de type ImageSource l'objet ViewModel. Alors voilà ce que j'ai actuellement:FrameworkElements conditionnel en fonction de DataContext
<Image Source="{Binding Path=UserAvatar}"/>
Cependant, certains utilisateurs ne peuvent pas avoir un avatar configuré, donc useravatar est null
. Dans ce cas, je veux montrer un avatar par défaut. Personne, mais la vue doit connaître l'image par défaut, car c'est juste une question de présentation.
Alors, comment puis-je montrer l'image avec l'ImageSource donné, ou une ressource spécifique si ImageSource est null
. Dois-je utiliser une sorte de DataTemplate avec DataTriggers? Depuis maintenant je les ai seulement utilisés pour ItemsControls, donc je ne sais pas.
+1 me devança :) –
Mais que diriez-vous l'image par défaut s'il n'y a pas UserAvatar? Un autre ContentControl? Il semble que j'ai besoin d'un DataTrigger non nul. Je viens de découvrir http://stackoverflow.com/questions/356194/wpf-datatrigger-where-value-is-not-null, qui propose un ValueConverter personnalisé. –
D'accord. Devrait apprendre à lire. Tu es la solution, c'est exactement ce que je cherchais, Arcturus. Il ne reste plus qu'un point avant que j'accepte votre réponse: l'avatar par défaut n'est pas un ImageSource mais une toile, donc l'élément Image doit être remplacé en quelque sorte (ou caché) –