2016-10-10 13 views
0

だから私は、Window.ResourcesStaticResource

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

に私のテンプレートを定義していると私はこの

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

のようにツリービューでそれを参照しかし、私は、私を起動しようとすると、アプリケーションは例外をスローします。例外メッセージは、 "template"という名前のリソースを見つけることができなかったことを示しています。何故ですか?

+0

これは奇妙ですが、あなたは対再起動やソリューションを再構築しようとしたがありますか? – Bijan

+0

@Bizzはい何度も再起動して再構築しましたが、それでも動作しません。 – freggy

+2

HierarchicalDataTemplate宣言からDataTypeを削除します。 – Clemens

答えて

2

DataTemplateのDataTypeプロパティは、暗黙的にx:Keyを設定します。

あなたは、通常の両方が必要なので、どちらかのデータ型を削除するか、キーの後にあれば入れないでください:

<HierarchicalDataTemplate x:Key="template" DataType="tree:TreeNode" ...> 
関連する問題