Дерево строиться по DataTable, каждая следующая ветка записана в столбце SubTable
| Код | //table: DataTable if (!table.Columns.Contains("SubTable")) table.Columns.Add("SubTable", table.GetType()); foreach (DataRow row in table.Rows) { DataTable subTable = new DataTable(); // Заподнение ветки (дочерних элементов) row["SubTable"] = subTable; }
|
шаблон настроен так, что каждая следующая ветка имеет свой шаблон:
| Код | <HierarchicalDataTemplate x:Key="Template2" ItemsSource ="{Binding Path=SubTable}" ItemTemplate="{StaticResource Template3}"> <!--тут описание шаблона 2--> </HierarchicalDataTemplate>
<HierarchicalDataTemplate x:Key="Template1" ItemsSource ="{Binding Path=SubTable}" ItemTemplate="{StaticResource Template2}"> <!--тут описание шаблона 1--> </HierarchicalDataTemplate> И так далее
|
Проблемма появляется при создании элеменов, у которых дочерние элементы должны иметь разный шаблон, вообще не понимаю как это сделать:- Элемент1 (Template1)
- Элемент3 (Template2)
- Элемент7 (Template3_1)
- Элемент8 (Template3_2)
- Элемент4 (Template2)
- Элемент2 (Template1)
- Элемент5 (Template2)
- Элемент6 (Template2)
|