【发布时间】:2020-11-20 21:17:41
【问题描述】:
我有以下代码 这是我的属性:
using System;
using System.Collections.Generic;
using System.Text;
namespace ServLottery.Models
{
public class PendientesGiro
{
public int IDPendGiros { get; set; }
public string NumFactura { get; set; }
public double Monto { get; set; }
public int IDPisteroVenta { get; set; }
public int IDPisteroCanje { get; set; }
public string Identification { get; set; }
public string Nombre { get; set; }
public string FechaVenta { get; set; }
}
}
然后是视图模型:
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Text;
namespace ServLottery.Models
{
public class PendGirosViewModel
{
public IList<PendientesGiro> PendientesLista { get; set; }
public PendGirosViewModel()
{
try
{
PendientesLista = new ObservableCollection<PendientesGiro>();
GetPendGiros();
}
catch (Exception ex)
{
throw ex;
}
}
private async void GetPendGiros()
{
try
{
RestClient client = new RestClient();
var pend = await client.Get<Models.PendientesGiro>("https://servicentroapi.azurewebsites.net/api/Giros");
if (pend != null)
{
PendientesLista = pend;
}
}
catch (Exception ex)
{
throw ex;
}
}
}
}
以及我用来从 API 取回数据的函数
private async Task<List<PendientesGiro>> GetPendientesAsync()
{
List<PendientesGiro> PendientesLista = new List<PendientesGiro>();
HttpClient client = new HttpClient();
Uri uri = new Uri(string.Format("https://servicentroapi.azurewebsites.net/api/Giros", string.Empty));
HttpResponseMessage response = await client.GetAsync(uri);
if (response.IsSuccessStatusCode)
{
string content = await response.Content.ReadAsStringAsync();
PendientesLista = JsonConvert.DeserializeObject<List<PendientesGiro>>(content);
Console.WriteLine("content :: " + content);
Console.WriteLine("Data :: " + PendientesLista);
}
return PendientesLista;
}
lv_Pend.ItemsSource = await GetPendientesAsync();
信息到达 ItemsSource 但未显示在 ListView 中,我认为我的问题在于 xaml 代码
<ListView x:Name="lv_Pend"
SelectedItem="{Binding PendientesGiro}"
ItemsSource="{Binding PendientesGiro}">
<ListView.ItemTemplate>
<DataTemplate>
<StackLayout Orientation="Horizontal">
<Label Text="{Binding Identification}" TextColor="White"/>
<Label Text="{Binding Name}" TextColor="White"/>
</StackLayout>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
我希望我的列表显示标识和名称,并且当我选择时能够获取与另一个页面相关的整个日期集。
【问题讨论】:
-
不是 xaml,更可能是缺少绑定的通知属性
标签: c# api listview xamarin.forms binding