树状控件在程序中经常用到。 但如果树状结构比较大,数据较多,将所有数据都加载后再绑定到控件,会影响软件的运行速度。比较理想的解决方法是延时加载,在展开树的时候再加载数据。
下面是树状控件延时加载数据的实现方式:
ViewModel:
public class TaskFolderVM:WorkspaceVM
{
#region Data&Properties
TaskFolder _taskFolder;
public TaskFolderVM Parent { get; set; }
//增加 一个静态的虚拟子项;
static TaskFolderVM _dummyChild = new TaskFolderVM();
ObservableCollection<TaskFolderVM> _subFolderVMs;
public ObservableCollection<TaskFolderVM> SubFolderVMs
{
get
{
if (_subFolderVMs == null)
{
this._subFolderVMs = new ObservableCollection<TaskFolderVM>();
this._subFolderVMs.Add(_dummyChild);
// 初始化时只加载虚拟子项
}
return _subFolderVMs;
}

本文介绍了如何在WPF中实现TreeView控件的延迟加载,以优化大量数据时的性能。通过创建虚拟子项并在展开节点时实际加载数据,实现了树结构的高效展示。

2585

被折叠的 条评论
为什么被折叠?



