Xamarin Forms - 在页面加载时使用异步数据加载 Picker 控件

Xamarin Forms - Loading Picker control with async data on load of page

我有一个 Xamarin 应用程序,我最近使用 Xamarin 将其包含到 Web 服务中,使用 wcf Web 服务,并且运行良好 (http://developer.xamarin.com/guides/cross-platform/xamarin-forms/web-services/consuming/wcf/)

有一个 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 属性。

我也有需要设置选择器值的偏好数据,想知道如何最好地做到这一点。

希望这是有道理的

将 xamarin 选择器分配给可观察的集合,这成功了。