假设我有这样的事情:
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应该是local:TopicFolder,但是WPF不允许这样做。
有什么建议么?
UPD:TreeView 以这种方式绑定到 ObservableCollection<TopicFolder> :
ItemsSource="{Binding Path=Folders}"
PS:这绝对不是私人/公共/财产问题。对于已发布的字段,我有相应的公共属性。输出中没有绑定错误,只是没有显示任何 FolderContent 项。