private static async void CloudProvidersChanged(BindableObject bindable, object oldValue, object newValue) { CloudProvidersList list = (CloudProvidersList)bindable; try { list.IsRefreshingProviders = true; if (oldValue != null) { ObservableCollection <CloudProvider> oldProviders = (ObservableCollection <CloudProvider>)oldValue; oldProviders.CollectionChanged -= list.Providers_CollectionChanged; } ObservableCollection <CloudProvider> newProviders = (ObservableCollection <CloudProvider>)newValue; if (newProviders != null) { foreach (CloudProvider curProvider in newProviders) { curProvider.IsSelected = false; await curProvider.CheckCredentialAccessAsync(); } newProviders.CollectionChanged += list.Providers_CollectionChanged; } } finally { list.IsRefreshingProviders = false; list.OnPropertyChanged("HasCloudProviders"); } }
private static void SelectedProviderChanged(BindableObject bindable, object oldValue, object newValue) { CloudProvidersList list = (CloudProvidersList)bindable; if (oldValue != null) { CloudProvider oldProvider = (CloudProvider)oldValue; oldProvider.IsSelected = false; } if (newValue != null) { CloudProvider newProvider = (CloudProvider)newValue; newProvider.IsSelected = true; } }