Допустим, у меня есть что-то вроде этого:
public class TopicFolder
{
#region Constants and Fields
private readonly List<TopicInfo> folderContent;
private readonly List<TopicFolder> subFolders;
#endregion
...
}
Как реализовать шаблон данных для такого типа? В настоящее время у меня есть:
<HierarchicalDataTemplate DataType="{x:Type local:TopicFolder}" ItemsSource="{Binding SubFolders}" >
<TextBlock Text="{Binding Name}"/>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type local:TopicInfo}" ItemsSource="{Binding FolderContent}">
<TextBlock Text="{Binding TopicName}"/>
</HierarchicalDataTemplate>
Но это не показывает никакого содержимого папки. Кажется, что второй шаблон DataType должен быть локальным: TopicFolder, но это не разрешено WPF.
Есть предложения?
UPD: TreeView привязан к ObservableCollection таким образом:
ItemsSource="{Binding Path=Folders}"
P.S .: Это определенно не проблема приватности / публичности / свойств. У меня есть соответствующие общедоступные свойства для опубликованных полей. Нет ошибок привязки в выводе, просто не отображаются элементы FolderContent.