我正在使用 WPF,并且正在开发一个复杂的用户控件,它由具有丰富功能的树等组成。为此,我使用了 View-Model 设计模式,因为某些操作无法直接在 WPF 中实现。所以我采用 IHierarchyItem (这是一个节点并将其传递给此构造函数以创建树结构)
private IHierarchyItemViewModel(IHierarchyItem hierarchyItem, IHierarchyItemViewModel parent)
{
this.hierarchyItem = hierarchyItem;
this.parent = parent;
List<IHierarchyItemViewModel> l = new List<IHierarchyItemViewModel>();
foreach (IHierarchyItem item in hierarchyItem.Children)
{
l.Add(new IHierarchyItemViewModel(item, this));
}
children = new ReadOnlyCollection<IHierarchyItemViewModel>(l);
}
问题是这个构造函数大约需要 3 秒!我的双核上有 200 个项目。我做错了什么还是递归构造函数调用这么慢?非常感谢你!