2017-09-27 155 views
0

負荷異步數據加載中選取器控件我有一個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作爲服務類型。 –

回答

1

分配的xamarin選擇器觀察集合和這個工作。