刚开始看Bing的时候被迎面而来的概念给吓退了,看了几个开源项目里米娜全是bing,不得不回来看啦
为了帮助理解和了解内部原理,我们先从代码写起,免得被xmal给搞的云山雾绕
代码Binding
Label label = new Label() { Text = "使用代码进行Data Bing" };
Slider slider = new Slider() { VerticalOptions = LayoutOptions.CenterAndExpand, Minimum = 0.5 };
第一种:
label.BindingContext = slider; //绑定一个关联的实例变量
label.SetBinding(Label.OpacityProperty, "Value"); // 宿主设定 自身属性 与 被绑定 的对象的属性
第二种(Binding)
Binding binding = new Binding()
{
Source = slider,
Path = "Value"
};
label.SetBinding(Label.OpacityProperty, binding);
使用xmal进行Binding
第一种
1 BindingContext:声明需要引用的实例变量
2{Binding Path=Value} Binding对应的属性
第二种
1 BindingContext: 将引用变量和对应属性一起声明
2 {Binding}: 宿主需要设定改变的属性进行绑定
第三种
一次性所有声明完成并进行绑定:
{Binding Source={x:Reference Name=entry}, Path=Text}