WPF中的图像绑定

时间:2011-12-04 12:30:35

标签: c# wpf data-binding

我有一个应该进行幻灯片放映的Image控件。 以下是我用来实现此目的的绑定:

    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上的更新联系起来?

1 个答案:

答案 0 :(得分:2)

如果您在调用PropertyChanged的设置者时实际调用ImageDrawing,它可能会自动更新。

您没有在您提供的代码中为PropertyChanged媒体资格ImageDrawing。试试这个:

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));
    }
}