2016-10-10 3 views
0

그래서 Window.Resources정적 리소스

<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}"/> 

같이 트 리뷰에서 그것을 참조하지만 내를 시작하려고하면 응용 프로그램은 예외를 throw합니다. 예외 메시지는 "template"이라는 이름의 리소스를 찾을 수 없다고 말합니다. 왜 그런가요?

+0

이 이상한, 당신은 대 다시 시작하거나 해결책을 재건 시도? – Bijan

+0

@Bizz 예 다시 시작한 후 여러 번 다시 작성했지만 여전히 작동하지 않습니다. – freggy

+2

HierarchicalDataTemplate 선언에서 데이터 형식을 제거하십시오. – Clemens

답변

2

DataTemplate의 DataType 속성은 암시 적으로 x:Key을 설정합니다.

당신은 일반적으로 모두 필요하므로 중 하나를 데이터 형식을 제거하거나 키 후 경우에 넣지 마십시오 :

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