【发布时间】:2012-12-10 16:04:43
【问题描述】:
我是 WPF 新手,所以可能会遗漏一些明显的东西,但无法在任何地方找到答案。
基本上,我正在构建一个以特定方式排序的自定义树集合,并且树的节点被键入到集合的类型。在TreeView 中进行测试时,HierarchicalDataTemplate 在节点是通用的情况下不起作用。如果它们不是通用的,那很好。
这里有一个简单的节点类来说明:
public class SimpleNode<T>
{
private List<SimpleNode<T>> _children;
private string _name;
public SimpleNode(string name)
{
_name = name;
}
public List<SimpleNode<T>> Children
{
get
{
return _children;
}
set
{
_children = value;
}
}
public string Name
{
get
{
return _name;
}
}
}
然后在 xaml 中:
HierarchicalDataTemplate DataType="{x:Type local:SimpleNode`1}" ItemsSource="{Binding Children}"
显然,附加到类型的 `1 是 SimpleNode 具有 1 个通用参数的结果。如果我剥离泛型类,HierarchicalDataTemplate 可以工作,我可以在TreeView 中查看树。有了泛型,它就不会这样做了。
有什么想法吗?
提前致谢。
【问题讨论】:
标签: c# wpf treeview hierarchicaldatatemplate