0

我正在尝试从文件中填充包含不同动物名称的列表视图。我无法确定要连接到哪个事件来填充列表视图,就像导航到特定页面一样。由于我正在使用异步方法从文件中读取值,我想知道这是否可能是问题的根源。

 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);
            }
        }
    }

现在我正在使用页面加载事件。这不会填充列表视图中的名称。它只显示黑框。此外,当第二次加载页面时,会显示名称,但所选项目始终为空。

我是新手,所以请原谅不正确的术语使用。任何帮助将不胜感激。

4

2 回答 2

0

而不是使用foreach,试试这个代码

ItemListView.Items = animalNames;

关于您的代码,可能主要问题是 IF 表达式,检查 Items 是否不为空

于 2013-05-31T16:07:15.387 回答
0

从 OnLoaded 转换为 OnNavigatedTo 对我有用。这是我的代码:

    protected override async void OnNavigatedTo(NavigationEventArgs e)
       {
            try
            {
                await GetNameOfAllAnimalsAsync();
            }
            catch (ArgumentNullException)
            {

            } 

        base.OnNavigatedTo(e);

      }
于 2013-05-31T19:39:17.337 回答