WPF中的图像绑定
本文关键字:绑定 图像 WPF | 更新日期: 2023-09-27 18:16:42
我有一个图像控件,应该做幻灯片放映。下面是我用来实现这一点的绑定:
Binding mapBinding = new Binding();
mapBinding.Source = slideView;
mapBinding.Path = new PropertyPath("ImageDrawing");
sliderImage.SetBinding(System.Windows.Controls.Image.SourceProperty, mapBinding);
和一类SlideImage
public class SlideImage : INotifyPropertyChanged {
public ImageSource ImageDrawing{get;set;}
public void ChangeImage(){
// Load another image
// Update ImageDrawing
// Fire property changed event
}
public event PropertyChangedEventHandler PropertyChanged;
}
我在网上发现了许多使用UpdateSourceTrigger
侦听数据源更改的示例。唯一的问题是Image
控件不具有该属性。
如何将sliderImage
控件连接到SlideImage.PropertyChanged
上更新?
如果在调用ImageDrawing
的setter时调用PropertyChanged
,它可能会自动更新。
在您提供的代码中,您没有为您的ImageDrawing
属性触发PropertyChanged
。试试这个:
private ImageSource imageDrawing;
public ImageSource ImageDrawing
{
get { return imageDrawing; }
set
{
imageDrawing = value;
RaisePropertyChanged("ImageDrawing");
}
}
private void RaisePropertyChanged(string propertyName)
{
if(PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}