在ac#wpf應用程序中,我從列表中加載一個treeView,它有一個刪除,編輯和添加按鈕,用於從textFile保存在列表中的信息,它也有一個更新按鈕,當它點擊它清除樹視圖,然後將textFile信息重新加載到列表中,然後將列表重新加載到treeView中,但是每當我單擊更新時,它會在碰撞時崩潰我的文件:treeView1.Items.Clear();在.Clear()行開頭之前的所有變量都是列表,如果(i == 0)我只是把它們取出,因爲它們都是相同的,所以if語句與這個相似。由於清除樹視圖崩潰
這裏是更新的按鈕
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();
}
}
**什麼是異常?** – SLaks
@SLaks編程停止響應,然後當我點擊調試即時獲取:在main.exe中發生未處理的異常類型'System.NullReferenceException',它將我發送給此line:string selectName =((TreeViewItem)(treeView1.SelectedItem))。Header.ToString();這是在我的事件代碼treeView_SelectedItemChanged – Beef