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上更新?

WPF中的图像绑定

如果在调用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));
    }
}