我是新來的WPF,所以可能會丟失一些明顯的東西,但一直無法找到答案。泛型類不綁定到HierarchicalDataTemplate
基本上我正在構建一個自定義樹集合,它以特定的方式進行排序,樹的節點被鍵入到集合的類型。當在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是具有1個通用PARAM SimpleNode
的結果。如果我刪除類的泛型HierarchicalDataTemplate
工程,我可以在TreeView
查看樹。隨着泛型的到位,它不會這樣做。
任何想法?
在此先感謝。
非常感謝,我會仔細檢查一下,看看我能不能弄清楚你在這裏做了什麼。另外對於一個快速解決方案,我發現另一篇文章建議製作一個非泛型基類,並在WPF中引用它 - 這似乎也起作用。 [鏈接] http://stackoverflow.com/questions/6586528/datatemplates-and-generic-types – user1373164
@ user1373164:我添加了一個解釋發生在這裏。一個非泛型的基類是可以工作的,但它只是標準的'DataTemplateSelector'實現的一個短暫的解決方法,因此我不會推薦它。 –
再次感謝 - 我會試試看。 – user1373164