通过绑定wpf来改变后面的图像源代码

时间:2015-11-17 14:04:40

标签: c# wpf image binding

我正在尝试通过点击某些内容来更改图片来源。

我的.xaml

<Canvas Name="img_Canvas" Grid.IsSharedSizeScope="True">
        <Image Source="{Binding ImageType_Source}" Name="autoImage" Margin="5"/>

我的.cs

private string _ImageType_Source;
        public string ImageType_Source
        {
            get { return _ImageType_Source; }
            set { 
                _ImageType_Source = value;
                OnPropertyChanged("ImageType_Source");
            }
        }

        public exImage()
        {
            InitializeComponent();
            DataContext = this;

所以当我点击例如Ellipse时,我想要更改图像。

private void Ellipse_MouseDown(object sender, MouseButtonEventArgs e)
        {
            ImageType_Source = "/ANKE_Test;component/imagesFolder/Bild_Getriebe.jpg";
            string test = autoImage.Source.ToString();

更改源后,使用PropertyChanged = null但使用新源触发PropertyChangedEvent。不幸的是,图像中的来源仍然是旧的,并没有改变。

1 个答案:

答案 0 :(得分:1)

使用INotifyPropertyChanged时,我通常会使用我自己的NotifyPropertyChanged方法:

private void NotifyPropertyChanged(String info) {
        if (PropertyChanged != null) {
            PropertyChanged(this, new PropertyChangedEventArgs(info));
        }
    }

您是否使用OnPropertyChanged方法执行此操作?