在windows RT应用程序中使用c#访问页面时填充列表视图
本文关键字:填充 视图 列表 访问 RT windows 应用程序 | 更新日期: 2023-09-27 18:16:29
我试图从一个文件中填充包含不同动物名称的列表视图。我无法确定要连接到哪个事件,以便在导航到特定页面时填充列表视图。由于我正在使用异步方法从文件中读取值,我想知道这是否可能是问题的一些来源。
private async void pageRoot_LoadedAsync(object sender, RoutedEventArgs e)
{
try
{
await GetNameOfAllAnimalsAsync();
}
catch (ArgumentNullException)
{
}
}
private async Task GetNameOfAllAnimalsAsync()
{
var animalIo = new AnimalIo();
var animalNames=await animalIo.GetAllAnimalNames(DateTime.Now);
if (animalNames != null)
{
foreach (var animalName in animalNames)
{
if (itemListView.Items != null)
itemListView.Items.Add(animalName);
}
}
}
现在我正在使用页面加载事件。这不会填充列表视图中的名称。它只显示黑盒子。此外,当页面第二次加载时,显示了名称,但所选项目始终为空。
我是一个新手,所以请原谅不正确的术语用法。
不要使用foreach,试试下面的代码
ItemListView.Items = animalNames;
关于你的代码,可能主要的问题是IF表达式,检查是否Items不是null
从OnLoaded转换到OnNavigatedTo对我来说是有效的。这是我的代码:
protected override async void OnNavigatedTo(NavigationEventArgs e)
{
try
{
await GetNameOfAllAnimalsAsync();
}
catch (ArgumentNullException)
{
}
base.OnNavigatedTo(e);
}