UWP中的ListView System.StackOverflowException

时间:2019-02-25 18:39:13

标签: c# listview uwp

我的列表视图中有6153个行数据。

此行在428行之后获取“ System.StackOverflowException”。

            if (root.ListView.Items != null && !root.ListView.SelectedItems.Contains(root.ListView.Items[index]))
            {
                ObservableCollection[index].Status = "Passed";
                index++;
                DownloadList();//for recursive
                return;
            }

ListView的来源为ObservableCollection<> 这个问题是什么原因造成的?通常,代码可以正常工作

1 个答案:

答案 0 :(得分:0)

您似乎正在使用递归遍历列表视图。

while(root.ListView.Items != null 
      && !root.ListView.SelectedItems.Contains(root.ListView.Items[index]){
       ObservableCollection[index].Status = "Passed";
       index++;
}

return;

不起作用?如果您执行上述操作,那么您将制作6000多个堆栈帧,并且每块1 MB,您正在快速消耗内存,并且似乎不需要递归允许的状态