我有一个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