在“我的项目”中,我用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>
可以帮助我:)
答案 0 :(得分:0)
实际上,SetBinding
方法的第二个参数是属性的名称,而不是属性本身,因此您应该执行以下操作:
dark.SetBinding(Image.SourceProperty, "Light");