如何在C#(MVVM)中绑定图像源

时间:2019-06-02 15:43:49

标签: c# xaml xamarin.forms

在“我的项目”中,我用C#创建一些图像,并希望这些照片的来源绑定到“我的ViewModel”中的一个属性。

在我的MVVM中:

   public event PropertyChangedEventHandler PropertyChanged = delegate { };

        private string _Light= "dark.png";

        public string Light
        {
            get { return _Light; }
            set {
                _Light = value;
                PropertyChanged(this, new PropertyChangedEventArgs(nameof(Light)));
            }
        }

在我的C#中:

BindingContext = new LightViewModel();
LightViewModel light = new LightViewModel();
Image dark = new Image { Margin = new Thickness(0, -5, 0, 10), HeightRequest = 20, WidthRequest = 20 };
dark.SetBinding(Image.SourceProperty, light.Light);

我将这个MVVM与此Xaml一起使用,这是Property工作

 <Image Source="{Binding Light}" ></Image>

可以帮助我:)

1 个答案:

答案 0 :(得分:0)

实际上,SetBinding方法的第二个参数是属性的名称,而不是属性本身,因此您应该执行以下操作:

dark.SetBinding(Image.SourceProperty, "Light");