Я тренируюсь в своем первом приложении MAUI, однако у меня проблемы с просмотром данных. При отладке я вижу, что список не пустой, есть данные, а также я передаю данные списка в ItemSource. В чем может быть проблема?
Мой код на onAppearing()
:
protected override async void OnAppearing()
{
base.OnAppearing();
ApiService service = new ApiService();
var newsResult = await service.GetNews();
foreach(var item in newsResult.Articles)
{
ArticleList.Add(item);
}
CvNews.ItemsSource= ArticleList;
}
xaml:
<CollectionView Grid.Row = "2" x:Name = "CvNews">
<CollectionView.ItemsLayout>
<LinearItemsLayout Orientation = "Vertical" ItemSpacing = "15"/>
</CollectionView.ItemsLayout>
<CollectionView.ItemTemplate>
<DataTemplate>
<StackLayout Padding = "10">
<Image HeightRequest = "200" Source = "{Binding Image}"/>
<Label FontSize = "Medium" Text = "{Binding Title}"/>
</StackLayout>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
В источник изображения я добавляю изображение по умолчанию из ресурсов, и изображение отображается
Статья:
public class Article
{
[JsonProperty("title")]
public string Title;
[JsonProperty("description")]
public string Description;
[JsonProperty("content")]
public string Content;
[JsonProperty("url")]
public string Url;
[JsonProperty("image")]
public string Image;
[JsonProperty("publishedAt")]
public DateTime PublishedAt;
[JsonProperty("source")]
public Source Source;
}
public class Root
{
[JsonProperty("totalArticles")]
public int TotalArticles;
[JsonProperty("articles")]
public List<Article> Articles;
}
public class Source
{
[JsonProperty("name")]
public string Name;
[JsonProperty("url")]
public string Url;
}
вы можете привязываться только к общедоступным свойствам. Ни один из элементов в Article
не является C# свойствами
Переместите код из метода OnAppearing() в код программной части, а затем проверьте.
вы можете привязываться только к общедоступным свойствам
<Image HeightRequest = "200" Source = "{Binding Image}"/>
<Label FontSize = "Medium" Text = "{Binding Title}"/>
ни Image
, ни Title
не являются общедоступными свойствами
public string Title;
сделать его собственностью
public string Title { get; set; }
Пожалуйста, напишите код для
Article