【发布时间】:2020-03-22 12:49:53
【问题描述】:
我有一个来自服务器的 JSON 显示在列表视图中,如下所示:
{
"data": {
"tryout_terbaru": {
"title": "Ada Soal tryout baru lho! Coba kerjain yuk!",
"list": [
{
"id": "1173",
"judul": "SD kelas 3 - Latihan Pembagian (9)"
}
],
"tipe": "Tryout"
}
}
我想在列表视图中显示“tryout_terbaru”列表。
XAML:
<ListView
x:Name="highlightListview"
DataContext="{Binding SelectedItem, ElementName=itemListView}"
ItemsSource="{Binding Source={StaticResource itemsViewSource}}">
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<ListView
x:Name="ListTryout"
DataContext="{Binding SelectedItem, ElementName=itemListView}"
ItemsSource="{Binding TryoutList">
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<TextBlock
Margin="0,15,15,10"
Text="{Binding TJudul}" />
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
代码:
ObservableCollection<Highlight> highlightDatasource = new ObservableCollection<Highlight>();
ObservableCollection<TryoutList> tryoutDatasource = new ObservableCollection<TryoutList>();
JsonObject tryoutBObject = jsonData.ContainsKey("tryout_terbaru") && jsonData["tryout_terbaru"] != null ? jsonData["tryout_terbaru"].GetObject() : JsonObject.Parse("");
try
{
title = tryoutBObject["title"].GetString();
JsonArray JsonList = tryoutBObject["list"].GetArray();
foreach (JsonValue groupValue in JsonList)
{
JsonObject groupObject = groupValue.GetObject();
tryoutTitle = groupObject["judul"].GetString();
TryoutList list = new TryoutList();
list.TJudul = list;
tryoutDatasource.Add(list);
}
Highlight highlightTB = new Highlight();
highlightTB.Title = title;
highlightDatasource.Add(highlightTB);
highlightListview.ItemsSource = highlightDatasource;
}
我遇到了一个问题,无法在列表视图中显示“tryout_terbaru”列表。如何处理?
【问题讨论】:
-
您的 JSON 似乎不是有效的 JSON。缺少右括号和多余的逗号。
-
@Hermanto 我已经修复了上面帖子中的 json
-
你好像没有设置
ItemsSource的ListViewListTryout? -
我已经替换了ItemsSource = {Binding TryoutList},但仍然无法显示“tryout_terbaru”列表
-
您能在
Highlight和TryoutList课程中添加问题吗?
标签: c# arrays json listview uwp