In meiner M-V-VM-Anwendung muss ich den Avatar des Benutzers zeigen. Das Bild wird in einer Eigenschaft vom Typ ImageSource des ViewModel-Objekts bereitgestellt. Also das ist, was ich habe zur Zeit:Conditional FrameworkElements in Abhängigkeit von DataContext
<Image Source="{Binding Path=UserAvatar}"/>
Jedoch können einige Benutzer nicht haben ein Avatar konfiguriert, so useravatar null
ist. In diesem Fall möchte ich einen Standardavatar zeigen. Nur die Ansicht muss über das Standardbild wissen, da es sich nur um eine Präsentation handelt.
Also wie kann ich entweder das Bild mit der angegebenen ImageSource anzeigen, oder eine bestimmte Ressource, wenn ImageSource null
ist. Muss ich eine Art DataTemplate mit DataTriggers verwenden? Da ich sie jetzt nur für ItemsControls verwendet habe, weiß ich es nicht.
+1 schlagen mich, es hilft :) –
Aber wie wäre es das Standardbild, wenn kein UserAvatar vorhanden ist? Ein anderes ContentControl? Scheint, dass ich einen not-null DataTrigger brauche. Ich habe gerade http://stackoverflow.com/questions/356194/wpf-datatrigger-where-value-is-not-null entdeckt, das einen benutzerdefinierten ValueConverter vorschlägt. –
D'uh. Sollte lernen zu lesen. Deine Lösung ist genau das, wonach ich gesucht habe, Arcturus. Es gibt nur noch einen Punkt, bevor ich deine Antwort akzeptiere: Der Standard-Avatar ist keine ImageSource, sondern ein Canvas, also muss das Image-Element irgendwie ersetzt werden (oder versteckt) –