我有一个Xamarin应用程序,我最近使用Xamarin包含在Web服务中,使用wcf Web服务,工作正常(http://developer.xamarin.com/guides/cross-platform/xamarin-forms/web-services/consuming/wcf/)
有一个ListView教程,可以使用控制器中的Command调用异步Web服务,并将其绑定到Listview。
因此,对于我的问题,在表单加载时,将异步Web服务数据加载到xamarin选择器控件中的最佳方法是什么?
我已尝试在viewmodel构造函数中执行某些操作,但控件数据在数据返回之前呈现....
public class UserPreferencesViewModel : BaseViewModel
{...
public UserPreferencesViewModel()
{
LoadDropdownData();
//carries on while data is being queried
}
async Task LoadDropdownData()
{
Services = new ObservableRangeCollection<Service>();
var services = await App.ServiceManager.GetServiceDataAsync();
Services.ReplaceRange(services);
}
我似乎无法使用命令对象,因为没有RefreshCommand属性。
我还有我需要设置选择器值的首选项数据,并想知道如何最好地执行此操作。
希望这是有道理的
答案 0 :(得分:2)
将xamarin选择器分配给可观察的集合,这很有效。