C# WPF TreeView TreeViewItem获取,并滚动到指定的位置

C# WPF TreeView TreeViewItem获取,并滚动到指定的位置

在使用TreeView 时,我们往往绑定的一个数据,但操作TreeViewItem相关的比较麻烦,因为其动态加载的特性,往往TreeViewItem得到了null。

1、获取TreeViewItem

这个是最重要的,必须一层层地从最高级别获取下去
使用:

TreeViewItem treeViewItemFind = SelectTreeView.ItemContainerGenerator.ContainerFromItem(第一级绑定的object) as TreeViewItem;

获取后务必展开!!

 if (treeViewItemFind != null)
 {
     treeViewItemFind.ExpandSubtree();
 }

然后,每一层都顺序获取、展开,直到获取到想显示的TreeViewItem

treeViewItemFind = treeViewItemFind.ItemContainerGenerator.ContainerFromItem(本层绑定的object) as TreeViewItem;
 if (treeViewItemFind != null)
 {
     treeViewItemFind.ExpandSubtree();
 }

2、将TreeView滚动到指定位置

if (treeViewItemFind != null)
    treeViewItemFind.BringIntoView(new Rect(0, -200, 100, 400));

BringIntoView,里面的Rect,指的是,以treeViewItemFind的位置为原点,(0,-200)的地方(这个treeViewItemFind的正上方200的位置),绘制一个(100*400)的长方形。并且使得这个长方形在TreeView中可见。
这样子就可以做到滚动的位置不至于在边缘。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值