Xamarin表单中的选取器列表



我正在创建一个应用程序,该应用程序应该从与sql server 连接的Rest Api导入lis

它在邮差中运行良好

但在Xamarin Evrithing出现了空白

这是我的代码

这是回购

public Alamacenes[] getAlmacenes()
{
try
{
Alamacenes[] almacenes;
var URLWebAPI = "https://www.avila.somee.com/ApiAlexa/api/Almacenes";
using (var Client = new System.Net.Http.HttpClient())
{
var JSON = Client.GetStringAsync(URLWebAPI);
almacenes = JsonConvert.DeserializeObject<Alamacenes[]>(JSON.Result);
}
return almacenes;
}
catch (Exception ex)
{
throw ex;
}
}

这是我的密码头

protected async void OnAppearing()
{
Repositorio repo = new Repositorio();
Alamacenes[] listalmacenes = repo.getAlmacenes();
foreach (var item in listalmacenes)
{
base.OnAppearing();
Almacen.Items.Add(item.CodigoAlmacen.ToString());
Almacen.Items.IndexOf(item.Almacen.ToString());
}
}

这个图像就是的结果

在此处输入图像描述

我想知道我的代码是否有问题

我认为您正在将列表设置为选择器,而列表为空。您应该等待响应,然后将项目源设置为选择器。看看这个快速样本。

//XAML Code
<Picker x:Name="almacenPicker" ItemDisplayBinding="{Binding Almacen}" />
//Code behind code
protected override async void OnAppearing()
{
base.OnAppearing();
var almacenList = await GetAlamacenes();
almacenPicker.ItemsSource = almacenList;
}
public Task<List<Almacene>> GetAlamacenes()
{
return GetAsync<List<Almacene>>("https://www.avila.somee.com/ApiAlexa/api/Almacenes");
}
public async Task<TResult> GetAsync<TResult>(string uri)
{
var httpClient = new HttpClient();
HttpResponseMessage response = await httpClient.GetAsync(uri);
var content = await response.Content.ReadAsStringAsync();
return await Task.Run(() => JsonConvert.DeserializeObject<TResult>(content));
}

最新更新