2011-06-23 96 views
3

所以我有一個WPF C#應用程序從一個文件中那的信息,它們加載到一個列表,然後加載列表到TreeView控件,它也有按鈕,編輯,刪除,添加信息,我怎麼做是編輯列表中的信息,然後用編輯的列表信息覆蓋文本文件,然後有一個更新按鈕用於更新treeView,當我更新treeView時,我從列表中刪除了所有內容,然後重新加載列表更新後的文本文件然後清除treeView,然後將列表數據重新加載到treeView中。現在,它在我的更新崩潰的原因是在這條線treeView1.Items.Clear();,然後帶我到這條線string selectName = ((TreeViewItem)(treeView1.SelectedItem)).Header.ToString();這是我treeView1_SelectedItemChanged代碼,所以我理解爲什麼它的崩潰,有沒有辦法把它在TreeView權利之前取消選擇任何內容我清除它,所以它不嘗試清除選定的項目。謝謝。名字和細節都是列表。取消選擇的TreeView

+0

你還沒有公佈的實際代碼是崩潰... –

+0

@BrennanVincent希望有幫助,感謝您花時間看看,對不起可憐的格式化,它總是搞砸了,一旦我粘貼在 – Beef

+0

閱讀編輯我的答案。 –

回答

1

嘗試增加當您清除樹視圖是跳開的標誌。然後把你的行動事件正文代碼裏面,如果檢查國旗

1
treeView1.SelectedItem 

將爲空,因爲您剛剛清除了樹視圖。

你應該問自己是什麼感覺它對設法弄一本項的頭部在樹視圖,其項目剛剛被清除,並解釋爲何該行是被稱爲在你的程序這一點。

我不能幫你進一步沒有更多的上下文。

編輯:對不起,我誤解了你的問題。是的,你可以清除選擇,但也會導致選擇更改事件觸發。你應該做的是檢查事件處理程序的SelectedItem不爲空,然後再繼續。

+0

是的,我明白這是它的空,這就是爲什麼它崩潰,虐待編輯問題和張貼更多的代碼,也許這將有助於解釋 – Beef