После того, как я ударился головой об стену на некоторое время об этом.Я понял, вот источник:
public void HandleGroupData(ObservableCollection<Group> groupTree)
{
foreach (var group in groupTree)
{
var groupNode = new TreeNode(group.DisplayText, ENodeType.Group, group.Id);
GetSubitemsOfGroup(group, groupNode);
RootLevel.Add(groupNode);
}
}
Мы строим TreeView из базы данных.Первоначально вызовы RootLevel.Add и GetSubitems были в обратном порядке.GetSubitems - это процедура, которая рекурсивно называется построением дерева в DFS.Я считаю, что происходило то, что мы добавляли узел к дереву, у которого не было дочерних элементов, поэтому изначально конструктор графического интерфейса Silverlight думал, что у него нет дочерних узлов, поэтому не давал им маленькие треугольники.история: Следите за порядком создания древовидного представления!