Невозможно отобразить данные в виде списка после десериализации json. Как мне настроить его, чтобы увидеть его?
Я привязываю данные, мой ответ от http-клиента использует контекст привязки, чтобы я мог использовать его в своем представлении списка.
MainPage.xaml
<ContentPage
Title="Home"
>
<Grid>
<ListView ItemsSource="{Binding .}">
<ListView.ItemTemplate>
<DataTemplate>
<StackLayout>
<Label Text="{Binding Description}"/>
<Label Text="{Binding Value}"/>
</StackLayout>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
</ContentPage>
MainPage.cs
public MainPage()
{
DataService ds = new DataService();
BindingContext = ds.GetBillsAsync();
InitializeComponent();
Chart1.Chart = new BarChart { Entries = entries, LabelTextSize = (float)Convert.ToDouble(Device.GetNamedSize(NamedSize.Large, typeof(Label))), BackgroundColor = SKColors.Transparent };
}
DataService.cs
public class DataService
{
HttpClient client = new HttpClient();
public async Task<List<Bill>> GetBillsAsync()
{
try
{
string url = "my url";
var response = await client.GetStringAsync(url).ConfigureAwait(continueOnCapturedContext: false); ;
var bills = JsonConvert.DeserializeObject<List<Bill>>(response);
return bills;
}
catch (Exception e)
{
throw e;
}
}
}
Я не получаю никаких сообщений об ошибках, за исключением этого выходного сообщения "Binding: System.Threading.Tasks.Task`1[System.Collections.Generic.List`1[Test.Models.Bill]] can not be converted to type 'System.Collections.IEnumerable'"
, которое, по моему мнению, не является проблемой, так как я вижу, что мой список заполняется правильно, когда я отлаживаю.
Можете ли вы помочь мне, пожалуйста?
Заранее спасибо