最近SilverLight项目中发现了一个奇怪的问题,举个小例子说明一下,我的Treeview控件初始状态为收拢状态(即 IsExpanded=false),展开之后如下所示:
笔记本板块
Dell笔记本
IBM笔记本
台式笔记本
联想台式笔记本
有两个问题:
1)当我将某一个父节点(“笔记本板块”)展开,并单击该父节点下的某子节点(“Dell笔记本”)时,SelectedItemChanged事件会执行两次,一次的SelectedItem值为子节点的,另一次是父节点的。觉得这个问题出的很奇怪,想了半天没想明白。
2)另外,当我展开第二个父节点,点击“联想台式笔记本”之后再点击第一个父节点的子节点(如“Dell笔记本”)时,则会执行两次或两次以上的SelectedItemChanged事件,且最终用SelectedItem获得的数据仍然为“联想台式笔记本”。(奇怪额~~)
纠结了一下午了,希望高手能帮忙指点一下,感谢了!
这个。。路由事件是从VisualTree由上至下执行的 不知道能否解释你的问题