C# Xamarin表单绑定标签get和set
我将我的项目从MVVM Cross迁移到Xamarin Forms,并试图从我的Web服务中获取标签的绑定属性,但它目前无法正常工作,就像MVVM一样。 当我运行应用程序时,它不会在日志上显示任何错误,但也不会显示我的任何属性,当涉及到我绑定的属性时,它只是空白的,比如“Title”属性 这是我的XAML(表单) 然后我这样称呼它:C# Xamarin表单绑定标签get和set,c#,xamarin.forms,mvvmcross,C#,Xamarin.forms,Mvvmcross,我将我的项目从MVVM Cross迁移到Xamarin Forms,并试图从我的Web服务中获取标签的绑定属性,但它目前无法正常工作,就像MVVM一样。 当我运行应用程序时,它不会在日志上显示任何错误,但也不会显示我的任何属性,当涉及到我绑定的属性时,它只是空白的,比如“Title”属性 这是我的XAML(表单) 然后我这样称呼它: Title = "Title: " + "\n" + test.Title; 这就是我使用MVVM的时候: private string _title;
Title = "Title: " + "\n" + test.Title;
这就是我使用MVVM的时候:
private string _title;
public string Title
{
get => _title;
set => SetProperty(ref _title, value);
}
问题在于,您正在设置页面标题(而不是标签文本),如下所示 相反,您应该设置标签文本。您的标签是
x:Name=“labelTitle”
因此,请尝试如下设置标签文本
Title = "Title: " + "\n" + test.Title;
labelTitle.Text= "Title: " + "\n" + delivery.Title;
在视图模型中,您需要在OnPropertyChanged()方法中设置公共变量,如下所示
private string _title;
public string Title
{
get { return _title; }
set { _title = value; **OnPropertyChanged(Title)**; }
}
有什么问题吗?@Arvindraja,我已经更新了,我的错。
Title=“Title:”+“\n”+delivery.Title
您正在设置页面标题或标签文本?标签文本将获取my WebService上的文本。ViewModel是否实现INotifyPropertyChanged
和set{{u title=value;OnPropertyChanged(_title);}
应该是set{{u title=value;OnPropertyChanged(nameof(title))}
labelTitle.Text= "Title: " + "\n" + delivery.Title;
private string _title;
public string Title
{
get { return _title; }
set { _title = value; **OnPropertyChanged(Title)**; }
}