我有物品清单。当我从集合中删除项目,然后一切正常。但是当添加一个项目然后在mvvm交叉Droid的UI中获取更新问题。在WP和IOS中它工作正常。当项目被添加时,所有数据都从API返回并设置为list属性,但随后是属性调用的SET访问者,但由于GET访问器未被调用,因此RaisePropertyChanged无法正常工作。由于新添加的项目未显示在列表中。这是我的代码:
ViewModel:
public ObservableCollection<AppointmentDto> Appointments
{
get
{
if (appointments == null)
appointments = new ObservableCollection<AppointmentDto>();
return (appointments);
}
set
{
appointments = value;
this.RaisePropertyChanged(() => this.Appointments);
}
private async void doApptsFetchAsync(int Id)
{
try
{
var appts = await schedulingService.GetAppointmentsAsync(Id);
if (appts != null)
{
Appointments = new ObservableCollection<AppointmentDto>(appts);
}
}
catch (Exception ex)
{
Mvx.Resolve<IUserInteraction>().Alert(ex.Message);
}
}
当我删除项目然后调用相同的上述方法并且其工作正常时,在初始化Appointments属性时,然后SET和GET两个访问器被调用。当添加item然后也调用相同的上述方法时,在这个时候初始化Appointments属性时它只调用SET访问器而不叫GET访问器。由于没有添加新项目的UI更新。
我为属性尝试了List和ObservableCollection类型,但没有运气。
请帮我解决这个问题。 谢谢。