Я создаю плагин для приложения, которое работает с концепцией семей.Каждая семья принадлежит к категории FamilyCategory, и каждая семья содержит FamilySymbols.Хорошая древовидная структура:
- FamilyCategory (Двери)
- Family (Внешние Двери)
- FamilySymbol (Дверь 2000x1000)
- FamilySymbol (Дверь 2000x900)
- Family (Гаражные ворота)
- FamilySymbol (Дверь 2000x2000)
- FamilySymbol (Дверь 2100x2000)
- FamilyCategory (Windows)
- Family (Single Windows)
- FamilySymbol (Window 1000x1400)
- FamilySymbol (Window 800x1400)
- Family (двойные окна)
- FamilySymbol (окно 2000x1400)
- FamilySymbol (окно 2100x1400)
Теперь я пытаюсь построить TreeView, представляющий эту структуру.У меня есть список объектов Family, и у каждого из них есть свойство FamilyCategory.Я пытаюсь определить, существует ли TreeNode с именем FamilyCategory, и если это так, я пытаюсь добавить Family к этому узлу.Если узел для этой категории не существует, я создаю новый и добавляю туда семью.К сожалению, приведенный ниже код всегда оценивает categoryExists как false.
foreach (Family family in families)
{
string familyCategoryName = family.FamilyCategory.Name;
bool categoryExists = treeView.Nodes.ContainsKey(familyCategoryName);
if (categoryExists)
{
categoryNode = treeView.Nodes[familyCategoryName];
}
else
{
categoryNode = new TreeNode(familyCategoryName);
treeView.Nodes.Add(categoryNode);
}
TreeNode familyNode = new TreeNode(family.Name);
categoryNode.Nodes.Add(familyNode);
foreach (FamilySymbol familySymbol in family.Symbols)
{
familyNode.Nodes.Add(familySymbol.Name);
}
}
Что я делаю не так?