gpt4 book ai didi

c# - 数据上下文 Windows 8 应用程序

转载 作者:太空宇宙 更新时间:2023-11-03 16:02:03 27 4
gpt4 key购买 nike

这是我第一次创建 Windows 8 应用程序,只是因为我必须为学校项目创建。我对 xaml 中的数据绑定(bind)等并不陌生,但在创建 W8 应用程序时是否有所不同,因为它不像我平时那样工作。

XAML 代码:(我的数据模板在 )

<ItemsControl ItemTemplate="{StaticResource test}" DataContext="{Binding ListLineup}">
<DataTemplate x:Key="test">
<StackPanel>
<TextBlock Text="{Binding Date}"></TextBlock>
</StackPanel>
</DataTemplate>

模型:(从 JSON 文件加载的数据)

public class LineUp
{
public string Id { get; set; }
public string Date { get; set; }
public string From { get; set; }
public string Until { get; set; }

public LineUp(string id, string date, string from, string until)
{
this.Id = id;
this.Date = date;
this.From = from;
this.Until = until;
}

public static async Task<List<LineUp>> GetLineUp()
{
List<LineUp> lineup = new List<LineUp>();
using (HttpClient client = new HttpClient())
{
string url = @"http://localhost:28603/api/LineUp";
Uri uri = new Uri(url);
using (HttpResponseMessage response = await client.GetAsync(uri))
{
if (response.IsSuccessStatusCode)
{
string content = await response.Content.ReadAsStringAsync();
content = "{'lineups':" + content + "}";

ListLineUp CollectionOfLineUps = await JsonConvert.DeserializeObjectAsync<ListLineUp>(content);
foreach (LineUp newLineup in CollectionOfLineUps.lineups)
{
lineup.Add(newLineup);
}
}
else
{
Debug.WriteLine("Exception when getting the LineUps. API is down ");
}
}
}
return lineup;
}
}

public class ListLineUp
{
public List<LineUp> lineups { get; set; }
}

XAML 背后的代码:

 public async void GetAllNeededLists()
{
ListLineup = await LineUp.GetLineUp();
foreach (var lu in ListLineup)
{
Debug.WriteLine(lu.Date);
}

}

运行时,我会在调试窗口中获取所有数据以及我的日期。运行应用程序时出现文本 block ,但其中没有内容。

最佳答案

要在 ItemsControl 中显示项目,您需要使用 IEnumerable 对象设置 ItemsSource 属性。

<ListView ItemsSource="{Binding lineups}"/>

并将您的 ListLineUp 对象设置到 ListView 上方的 DataContext 中。

要设置 DataTemplate,请使用 ItemTemplate 属性。

<ListView.ItemTemplate>
<DataTemplate>...</DataTemplate>
</ListView.ItemTemplate>

关于c# - 数据上下文 Windows 8 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20912609/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com