Xamarin形式 - 与

问题描述:

负荷异步数据加载中选取器控件我有一个Xamarin的应用程序,我已经使用Xamarin,有一个WCF Web服务的工作最近纳入网络服务,并能正常工作(http://developer.xamarin.com/guides/cross-platform/xamarin-forms/web-services/consuming/wcf/Xamarin形式 - 与

有一个ListView教程,这可以很好地使用控制器中的命令调用异步Web服务,并将其绑定到Listview。

因此,对于我的问题,当表单加载时将异步Web服务数据加载到xamarin选取器控件中的最佳方法是什么?

我试着做在视图模型构造函数的东西,但数据才回来的控制数据呈现....

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

要么使用async等待正确..所以在你的构造函数:await LoadDropdownData或使用ObservableCollections如果你的数据来自WCF服务的异步将填充ListView – Unlockedluca

+0

你不能在构造函数中使用'await',所以ObservableCollections看起来像前锋?我已经使用ObservableRangeCollections作为服务类型。 –

分配的xamarin选择器观察集合和这个工作。