XAML数据类型中的神秘`1

时间:2013-08-15 03:05:21

标签: c# wpf xaml generics

我不知道该怎么称呼它,所以它可能已经被多次解决了。

我有一个集合的包装类:public class TreeCategory<T> : IEnumerable<T>

在我的xaml我使用HierarchicalDataTemplate中的课程如下:

<HierarchicalDataTemplate x:Key="m_CategoryTemplate"
     DataType="{x:Type local:TreeCategory`1}"   <--- WHAT IS THIS?!
     ItemsSource="{Binding CategoryCollection}" >
        <TextBox Text="{Binding CategoryName}" />
    </HierarchicalDataTemplate>

所以我的问题是,当我使用local:TreeCategory构建时,构建失败,因为项目抱怨它不知道类TreeCategory是什么。但是,如果我使用:

TreeCategory`1

然后项目建立得很好。

什么是`1,为什么有必要?

1 个答案:

答案 0 :(得分:7)

http://msdn.microsoft.com/en-us/library/system.codedom.codetypereference.basetype.aspx

  

通用类型的格式为类型名称,后跟重音符号(“`”),后跟通用类型参数的计数。

因此,删除`1您实际上说的类型为TreeCategory而不是TreeCategory<T>