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

时间:2017-09-27 14:27:12

标签: asynchronous xamarin xamarin.forms picker

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

我还有我需要设置选择器值的首选项数据,并想知道如何最好地执行此操作。

希望这是有道理的

1 个答案:

答案 0 :(得分:2)

将xamarin选择器分配给可观察的集合,这很有效。