c# - 如何使用带有 itemclicked 事件的 API 显示信息
问题描述
我显示了游戏中的英雄列表(英雄联盟),当我单击一个时,它会在其他文本框中显示有关该英雄的更多信息。我试图让它工作,但我失败了,我怎样才能让它工作?
API 连接
public static async Task<Champions> GetChamp()
{
Uri request = new Uri(@"http://ddragon.leagueoflegends.com/cdn/9.24.2/data/en_US/champion.json");
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Add("User-Agent", "RiotApi");
HttpResponseMessage respons = await client.GetAsync(request);
if (respons.IsSuccessStatusCode == false)
{
MessageDialog md = new MessageDialog("Can't find any champions");
await md.ShowAsync();
return null;
}
respons.EnsureSuccessStatusCode();
string jsonstring = await respons.Content.ReadAsStringAsync();
Champions mc = JsonConvert.DeserializeObject<Champions>(jsonstring);
return mc;
}
尝试使用这个(冠军页面)
private Champion _selectedchamp = new Champion();
public Champion SelectedChamp
{
get { return _selectedchamp; }
set { _selectedchamp = value; NotifyPropertyChanged(); }
}
private void ListView_ItemClick(object sender, ItemClickEventArgs e)
{
SelectedChamp = e.ClickedItem as Champion;
}
把它放在 xaml
<TextBox Header="Naam" Text="{x:Bind SelectedChamp.Name, Mode=OneWay}" FontSize="16"/>
<TextBox Header="Title" Text="{x:Bind SelectedChamp.Title, Mode=OneWay}" FontSize="10"/>
我究竟做错了什么?
解决方案
推荐阅读
- c# - 如何使用 XML/XElement 将冒号 : 放入标签的第一部分...?
- google-apps-script - google.script.run.withSuccessHandler 似乎没有返回值
- python - 使用动态加载的模块进行多处理
- visual-studio - 将 Visual Studio 设置为为具有其他扩展名 (.txaml) 的文件打开 XAML 编辑器
- algorithm - Aberth-Ehrlich 方法和精度误差的 Delphi 实现
- javascript - Vue.js 仅在特定数组更改时更新()
- node.js - 在 NodeJS Promise 中排序
- ruby - 如何在 Prawn PDF 中为子表提供填充?
- ios - 关于iOS 14导航栈管理的问题(不同于iOS 13)
- reactjs - 如何过滤对象并在 React 中显示