Quand je charge et remplir mon ListBox
, je vérifie si une valeur est bool
true
ou false
, et selon que bool
je veux lier l'image actuelle (liked.png ou notliked.png).ImageSource lorsque le bouton cliqué
bouton dans Listbox:
<Button Click="LikePost">
<Button.Background>
<ImageBrush Stretch="Uniform" ImageSource="{Binding imagesource}"/>
</Button.Background>
</Button>
<Image Source="liked.png" Visibility="collapsed"/>
<Image Source="notliked.png" Visibility="collapsed"/>
(uniquement lorsque ces deux dernières lignes sont là, les images montrent ???)
J'ai la classe suivante attribuée à la zone de liste:
public class Item : INotifyPropertyChanged
{
public string value1 { get; set; }
public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
private System.Windows.Media.ImageSource _imagesource;
public System.Windows.Media.ImageSource imagesource
{
get { return _imagesource; }
set
{
if (_imagesource == value) return;
_imagesource = value;
NotifyLikeImageChanged("like");
}
}
private void NotifyLikeImageChanged(string propertyName)
{
System.ComponentModel.PropertyChangedEventHandler handler = PropertyChanged;
if (PropertyChanged != null)
PropertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
}
}
Dans mes fonctions LikePost, je vérifie si le post est aimé ou non et change la source d'images de ma classe en conséquence. Mais l'image ne changera pas?
Avez-vous accès à ce fichier? et pourquoi 'Absolute' et pas 'RelativeOrAbsolute' – Ofiris
Les fichiers sont dans ma racine. Quand j'utilise "Absolute", j'obtiens "System.UriFormatException". –
'UriKind.RelativeOrAbsolute' – Ofiris