猿问

Treeview中SelectedItemChanged怎样执行?

最近SilverLight项目中发现了一个奇怪的问题,举个小例子说明一下,我的Treeview控件初始状态为收拢状态(即 IsExpanded=false),展开之后如下所示:

笔记本板块

    Dell笔记本

    IBM笔记本

台式笔记本

    联想台式笔记本

  有两个问题:

1)当我将某一个父节点(“笔记本板块”)展开,并单击该父节点下的某子节点(“Dell笔记本”)时,SelectedItemChanged事件会执行两次,一次的SelectedItem值为子节点的,另一次是父节点的。觉得这个问题出的很奇怪,想了半天没想明白。

2)另外,当我展开第二个父节点,点击“联想台式笔记本”之后再点击第一个父节点的子节点(如“Dell笔记本”)时,则会执行两次或两次以上的SelectedItemChanged事件,且最终用SelectedItem获得的数据仍然为“联想台式笔记本”。(奇怪额~~)

 纠结了一下午了,希望高手能帮忙指点一下,感谢了!


白猪掌柜的
浏览 693回答 2
2回答

精慕HU

这个。。路由事件是从VisualTree由上至下执行的 不知道能否解释你的问题
随时随地看视频慕课网APP
我要回答