私はWPFで作業していますが、豊富な機能を持つツリーなどで構成される複雑なusercontrolを開発しています。 この目的のために、一部の操作を直接達成できないため、View-Modelデザインパターンを使用しましたWPFで。だから私はこの問題は、このコンストラクタは約3秒かかるということである再帰的/スタック使用(C#)のないツリートラバーサル?
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);
}
(ノードであり、ツリー構造を作成するには、このコンストラクタに渡し)IHierarchyItemを取ります!私のデュアルコア上の200アイテム。 私はanythigを間違っているか再帰的なコンストラクタ呼び出しを行うのが遅いですか? ありがとうございます!
上記の内容はすべて正しいです。この問題はhierarchyItem.Childrenに存在し、時間がかかりすぎていました。 –