我正在尝试从文件中填充包含不同动物名称的列表视图。我无法确定要连接到哪个事件,以便在导航到特定页面时填充列表视图。由于我使用异步方法从文件中读取值,我想知道这是否可能是问题的根源。
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);
}
}
}
现在我正在使用页面加载事件。这不会填充列表视图中的名称。它只显示黑盒子。此外,当第二次加载页面时,将显示名称,但所选项目始终为空。
我是新手,所以请原谅错误使用条款。任何帮助将不胜感激。
答案 0 :(得分:0)
不要使用foreach,请尝试使用此代码
ItemListView.Items = animalNames;
关于你的代码,可能主要问题是IF表达式,检查Items not null
答案 1 :(得分:0)
从OnLoaded转换为OnNavigatedTo为我工作。这是我的代码:
protected override async void OnNavigatedTo(NavigationEventArgs e)
{
try
{
await GetNameOfAllAnimalsAsync();
}
catch (ArgumentNullException)
{
}
base.OnNavigatedTo(e);
}