У меня немного сложная ситуация с привязкой дерева WPF. Я потратил последние 2 дня, пытаясь найти это в Google, и это - закрытый вариант, который я придумал, но он не решает проблему.
Вот ситуация:
У меня есть объект, который выглядит следующим образом:
public class Category
{
public string Name { get; set; }
public List Categories { get; set; }
public List Products { get; set; }
}
public class Product
{
public string Name { get; set;
}
Каждая Категория может иметь список объектов и дочерних категорий. У меня есть причина для этого, которая имеет полный смысл для меня и приложения, которое я пишу.
Фактическая конструкция объекта может выглядеть примерно так:
Category - Pharmacy
|-Product - Aspirin
|-Product - Tylenol
|-Category - Tooth Paste
| |-Product - Crest
| |-Product - Colgate
|-Category - Paper Products
|-Category - Toilet Paper
| |-Product - NoName
| |-Product - Charmin
|-Category - Facial Tissue
|-Product - Kleenex
Category - Household
|-Product - Pinesol Cleaner
|-Product - Garbage Bags
Теперь я пытаюсь привязать эту связь к древовидной структуре. Я бы хотел, чтобы TreeView выглядел почти идентично указанной выше конструкции объекта.
Пока что мой XAML Treeview выглядит так:
Это отлично работает для основного списка категорий и каждого из его вспомогательных продуктов. Но он не идет дальше и не отображает подкатегории под каждой категорией.
Есть ли способ сделать это напрямую с помощью шаблонов, чтобы каждый элемент (категория или продукт) был выбран? Я использую шаблон MVVM и не хочу прибегать к использованию кода позади, но буду, если это необходимо.