当我加载并填充我的ListBox
时,我检查一个bool
值是否是true
或false
,并根据bool
我想要绑定当前图像(liked.png 或 notliked.png)。
列表框中的按钮:
<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"/>
(只有当最后两行存在时,图像才会显示???)
我将以下类分配给列表框:
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));
}
}
在我的 LikePost 函数中,我检查帖子是否被喜欢,并相应地更改我班级中的图像源。但图像不会改变?