关于TreeView中的Item很多时,超出了控件的高度。
当焦点移动到TreeView的边缘时(最下面或最上面),Item会自动地滚动,当前获得焦点的Item会向上或向下的滚动显示出来,(只是键盘操作的时候不包括鼠标操作)想在Item滚动的这个时候做点动作,可不知道怎么触发这个事件,或这个事件是什么。只知道关于ScrollChangedEvent 这个事件,可怎么用在TreeView上面就不知道了,请各位帮忙,谢谢!
------解决方案--------------------------------------------------------
Node的位置可以通过他的Bounds属性得到,至于位置调整,因为他发生在选择之后,没有一个合适的时机。可选方案1,可以检查是否选择的node是否可以完全显示(Node的底部是否超出空间底部),如果不能则将node的位置减去一个node的高度。方案2,用timer在一定时间之后再去取node的位置。