我有一個TreeView
1000個項目。當我選擇一個項目時,TreeView
會觸發一個事件,以便我可以更新GUI中的某些內容。事件處理程序是非遞歸的,並且沒有循環,但它需要一點時間才能完成,可能是100ms。如果SelectionChanged事件觸發得太快,WPF Treeview的stackoverflow?
如果我選擇頂部的項目,並使用向下的箭頭滾動項目緩慢,一切工作正常,但如果我按住箭頭鍵,事件觸發得太快,我得到一個stackoverflow例外。
我想過在TreeView
中放置一個定時器,所以SelectionChanged
事件只能每隔100ms左右發射一次,但這看起來很駭人聽聞。任何想法來解決這個問題?
當用戶快速瀏覽列表時,您是否確實需要更新UI中的某些內容? – arconaut 2010-02-08 21:13:49
可能不是當他們快速滾動時,但我怎麼知道他們是否快速滾動? – user113164 2010-02-08 21:20:18