У меня есть следующая проблема, с которой я борюсь сейчас около 5 часов.
Как правильно связать следующую структуру классов с TreeView?
public class Person
{
public string Display { get; set; }
public List<Car> Cars { get; set; }
public List<House> Houses { get; set; }
}
public class Car
{
public string Display { get; set; }
}
public class House
{
public string Display { get; set; }
}
Я хочуTreeView имеет следующую структуру: (где у Person # 1 есть как дома, так и машины, а у Person # 2 только дома)
- Person #1
|-- Cars
|-- Car #1
|-- Car #2
|-- Houses
|-- House #1
- Person #2
|-- Houses
|-- House #1
|-- House #2
Как, черт возьми, вы это делаете в XAML с автоматической привязкой данных к ObservableCollection?Я установил привязку только один раз в конструкторе моего Treeview (UserControl) следующим образом:
this.ItemsSource = SomeStaticClass.People;
Помощь очень, очень ценится!Спасибо!=)
РЕДАКТИРОВАТЬ: я пытался HierarchicalDataTemplate, но я не могу заставить его работать;)
EDIT2: я пробовал много разных вещей, но ближе всего я пришел к следующемукод (в настоящее время имеется только одно перечисление;)):
<HierarchicalDataTemplate DataType="{x:Type e:Person}" ItemsSource="{Binding Cars}">
<TextBlock Text="{Binding Display}" />
<HierarchicalDataTemplate.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Cars}">
<TextBlock Text="Cars" />
<HierarchicalDataTemplate.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Display}" />
</DataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
К сожалению, он не отображает автомобили TextBlock и автомобили сами.Как мне это сделать?