清除树视图崩溃

本文关键字:崩溃 视图 清除 | 更新日期: 2023-09-27 18:00:11

在一个c#wpf应用程序中,我从列表加载treeView,它有一个删除、编辑和添加按钮,用于从textFile保存在列表中的信息,它还有一个更新按钮,当点击它时,它会清除treeView,然后将textFile信息重新加载到列表中,然后将列表重新加载到treeView中。然而,每当我点击更新时,当它点击时,它就会崩溃我的文件:treeView1.Items.Clear();之前的所有变量。开头的Clear()行是列表,还有更多类似于这个if语句的if语句,if(i==0)我只是去掉了它们,因为它们的工作原理都一样。感谢

这是更新按钮的事件代码

private void buttonUpdate_Click(object sender, RoutedEventArgs e)
{
    name.Clear();
    description.Clear();
    dateStart.Clear();
    dateDue.Clear();
    status.Clear();
    priority.Clear();
    details.Clear();
    using (StreamReader sr = new StreamReader("TaskList.txt"))
    {
        int i = 0;
        while (!sr.EndOfStream)
        {
            //if its on the first line of a task
            if (i == 0)
            {
                name.Add(sr.ReadLine());
                ++i;
            }
            else if (i == 1)
            {
                description.Add(sr.ReadLine());
                ++i;
            }
            else if (i == 2)
            {
                dateStart.Add(sr.ReadLine());
                ++i;
            }
            else
            {
                details.Add(sr.ReadLine());
                i = 0;
            }
        }
        treeView1.Items.Clear();
        for (int j = 0; j < name.Count; ++j)
        {
            TreeViewItem taskTree = new TreeViewItem();
            taskTree.Tag = name[j];
            taskTree.Header = name[j];
            taskTree.Items.Add(description[j]);
            taskTree.Items.Add(dateStart[j]);
            taskTree.Items.Add(dateDue[j]);
            taskTree.Items.Add(status[j]);
            treeView1.Items.Add(taskTree);
        }
        sr.Close();
    }
}

清除树视图崩溃

清除树视图后,SelectedItemnull