如何解决绑定到对象的属性
我有一个标签,我想将文本绑定到对象的属性
public class MainCar: INotifyPropertyChanged
{
string typeCar;
public string TypeCar
{
set
{
if (typeCar != value)
{
typeCar = value;
OnPropertyChanged("TypeCar");
}
}
get
{
return typeCar;
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this,new PropertyChangedEventArgs(propertyName));
}
}
在我的Xaml代码中,我有一个标签,但我不明白如何将我的Label的文本绑定到对象的属性TypeCar
XAML代码
<Label x:Name="label" FontSize="Large" Text="" />
隐藏代码
public Car_add()
{
NavigationPage.SetHasNavigationBar(this,false);
InitializeComponent();
this.BindingContext = new TypesCar();
}
VIEWMODEL类别
公共类TypesCar {
public TypesCar()
{
var vm = new MainCar() { TypeCar = "Ford" };
}
解决方法
这很好documented
<Label x:Name="label" FontSize="Large" Text="{Binding TypeCar}" />
然后在后面的代码中
var vm = new MainCar() { TypeCar = "Ford" };
this.BindingContext = vm;
或者,如果您要绑定到“同一页面”上的某个属性,而不是一个VM,则
this.BindingContext = this;
请注意,如果您希望UI随着VM的更改而更新,则VM必须实现INotifyPropertyChanged
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。