2010-01-27 4 views
2

내 WPF 응용 프로그램에서 내 XAML에 정의 된 TreeView 컨트롤이 있습니다.XAML의 오류 : 형식 참조가 공용 형식을 찾을 수 없습니다.

<Window x:Class="FileGrouper.SPWindow" ... xmlns:local="clr-namespace:FileGrouper"...> 

내를로드하려고 : 나는 상단에 라인으로 "로컬"네임 스페이스를 정의

<TreeView.Resources> 
    <HierarchicalDataTemplate DataType="{x:Type local:FileGroup}" ItemsSource="{Binding protXMLFiles}"> 
     <TextBlock Text="{Binding Path=groupName}"/> 
    </HierarchicalDataTemplate> 
    <HierarchicalDataTemplate DataType="{x:Type local:protXMLFile}" ItemsSource="{Binding}"> 
     <TextBlock Text="{Binding Path=filename}"/> 
    </HierarchicalDataTemplate> 
</TreeView.Resources> 

을 위 :이처럼 보이는 TreeView.Resources 섹션을 추가했습니다 Visual Studio Designer에서 XAML을 실행하면 디자이너 상단에 경고 메시지가 나타납니다. "디자이너가 업데이트하기 전에 수정해야하는 오류가 문서에 들어 있습니다. 여기를 클릭하여 오류 목록을 엽니 다."; 오류 목록의 관련 오류 메시지는 다음과 같습니다. "유형 참조에서 'FileGroup'이라는 공용 유형을 찾을 수 없습니다. 컴파일 후 오류 목록의 모든 오류가 지워지고 응용 프로그램이 문제없이 실행됩니다.

그래도 나는 < TreeView.Resources> 블록을 제거하지 않으면 XAML 디자이너를 사용할 수 없습니다. 여기서 무슨 일이 일어나고 어떻게 해결할 수 있습니까?

+0

나는 단순히 TreeView를 사용자 정의 컨트롤로 옮기는 임시 픽스가 있습니다. 따라서 Window 용 XAML 디자이너를 계속 사용할 수 있습니다. – Vivek

답변

1

xmlns 선언에 어셈블리 이름을 지정해야합니까? IDE는 일반적으로 나를 위해 그것을 넣습니다.

+1

예. 그냥 {x : Type FileGroup}이라고 말하면 컴파일되지 않습니다. "local"네임 스페이스를 선언하고 {x : Type local : FileGroup}을 작성할 때만 컴파일됩니다. – Vivek

관련 문제