在WPF项目中找不到StaticResource

时间:2016-10-10 10:19:18

标签: wpf xaml

所以我在Window.Resources中定义了我的模板

<Window.Resources>
    <HierarchicalDataTemplate DataType="tree:TreeNode" ItemsSource="{Binding Children}" x:Key="template">
       <TextBlock Text="{Binding DisplayName}"/>
    </HierarchicalDataTemplate>
</Window.Resources>

我在TreeView中像这样引用它

<TreeView Name="DirTreeView" BorderBrush="White" ItemsSource="{Binding FileSystemTreeNodes}" ItemTemplate="{StaticResource template}"/>

但是当我尝试启动我的应用程序时,它会引发异常。异常消息表明它找不到名为“template”的资源。那是为什么?

1 个答案:

答案 0 :(得分:2)

DataTemplate的DataType属性隐式设置x:Key

您通常不需要两者,因此要么删除DataType,要么将if放在键后面:

<HierarchicalDataTemplate x:Key="template" DataType="tree:TreeNode" ...>