private void Preenche_TreeView_Pesquisa(List <Conhecimentos> know) { lock (treeView) { treeView.Items.Clear(); } try { var t2 = tipo.Search_Tipo(know); foreach (Tipos t in t2) { TreeViewItem Child = new TreeViewItem(); Child.Header = t.Nome; var s2 = subtipo.Search_Subtipo(know); foreach (Subtipos s in s2) { TreeViewItem Child2 = new TreeViewItem(); Child2.Header = s.Nome; var c2 = know; foreach (Conhecimentos con in c2) { TreeViewItem Child3 = new TreeViewItem(); Child3.Header = con.Metadados; Child3.Tag = con.StampConhecimento; if (s.StampSubtipo == con.StampSubtipo) { Child2.Items.Add(Child3); } } if (t.StampTipo == s.StampTipo) { Child.Items.Add(Child2); } } treeView.Items.Add(Child); } } catch { } }