TreeView虚拟化跳转
2024-09-01 02:24:18
使用ItemContainerGenerator.ContainerFromItem方法可以获取对应数据的UIElement 。
但是如果使用了虚拟化技术,超出可见区域的UIElement就获取不到了。
参考微软的文档《如何:在 TreeView 中查找 TreeViewItem》,去掉一些不必要的和过时的代码,写了一个完整的例子。
主要代码只有5行
itemsControl.ApplyTemplate();
var itemsPresenter = FindVisualChild<ItemsPresenter>(itemsControl);
itemsPresenter.ApplyTemplate();
var virtualizingStackPanel = (VirtualizingStackPanel)VisualTreeHelper.GetChild(itemsPresenter, );
virtualizingStackPanel.BringIndexIntoViewPublic(data.index);
通过这样的处理,就可以取到UIElement啦。
itemsControl = (ItemsControl)itemsControl.ItemContainerGenerator.ContainerFromItem(vm);
Demo运行效果图
完整示例在我的Github中
最新文章
- EF Code First 导航属性 与外键
- sphinx 全配置
- C++primer 练习12.27
- MDI/MDIX接口
- C#文件操作系列(一)
- css3 渐变记
- BZOJ_1623:_[Usaco2008_Open]_Cow_Cars_奶牛飞车_(贪心)
- java与c/c++进行socket通信
- 怎么样excel其产生的条形码(10分钟的时间excel)从而出现了条形码
- [Q]如何将图纸打印为黑白的及设置打印样式
- C++学习-3
- ISCC 2018 (Please give me username and password)
- [Swift]LeetCode275. H指数 II | H-Index II
- 其实我们可以少写点if else和switch
- quick-cocos2d-x 游戏开发之一】开发工具sublime text及其强力插件QuickXDev
- go 函数的作用域及可见性
- 【react 分页器】 基于react-virtualized组件的分页器
- Perl 引用:引用就是指针,Perl 引用是一个标量类型可以指向变量、数组、哈希表(也叫关联数组)甚至子程序。
- oracle记录错误存储过程
- debug---null Pointer Exception--一步步查找(2)
热门文章
- centos6.5安装apache2.x并更改默认80port
- Apache Commons Pool 故事一则 专题
- .net reactor 学习系列(二)---.net reactor界面各功能说明
- WPF图片放大后模糊的解决方法
- 解决引用 System.Windows.Interactivity程序集生成多国语言文件夹fr、es、ja等问题
- 微软Insider Dev Tour 活动
- Angular语法(一)——展示数据
- XF 列表视图分组列表填充
- WPF 使用Propereties:Resources.resx里面的资源
- HALCON学习之算子大全