TreeView
인 WPF 응용 프로그램이 있습니다. 나는 TreeView
에 파일 및/또는 폴더를 끌어다 놓습니다. 드래그 된 항목이 감지하도록 설정된 폴더 인 경우이 디렉터리의 최상위 수준을 검색합니다.TreeViewItem 하위를 동적으로 표시
내가 붙어있는 곳은이 내부 파일을 TreeView
에 표시하는 것입니다. 이 내부 파일을 폴더 항목의 하위 항목으로 표시하고 싶습니다. 나는에서 내부 콜렉션에 ObservableCollection
FileList
의 객체를 할당
public class FileList
{
public enum FileType { File, Folder };
public FileType Type { get; set; }
public string Name { get; set; }
private ObservableCollection<FileList> innerFiles;
public ObservableCollection<FileList> InnerFiles
{
get
{
return innerFiles;
}
set
{
innerFiles = value;
}
}
public FileList(string file)
{
Name = file;
Type = FolderOrFile(file);
}
}
이 TreeView.ItemTemplate
<HierarchicalDataTemplate>
<TextBlock Text="{Binding Name}">
<TextBlock.ContextMenu>
<ContextMenu>
<MenuItem Name="mnuExpand" Header="Expand" Click="mnuExpand_Click" />
</ContextMenu>
</TextBlock.ContextMenu>
</TextBlock>
<HierarchicalDataTemplate.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding InnerFiles}" />
</DataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
내에서 XAML 코드는 다음과 같습니다
이
은 트 리뷰에서 항목을 모델링하는 클래스입니다TreeViewItem
의
FileList
을 누른 다음 눈금을 새로 고치지 만 이러한 자식 항목은 나타나지 않습니다.
TreeView not showing my Children
그러나 나는 가능성이 AS/검색 아래 가능한 한 많은 수준을 열고 자 :
나는 다음을 시도했다.도움을 주시면 감사하겠습니다.
고마워요! 이것은 큰 도움이되었습니다. 이제 하위 파일을 표시 할 수 있습니다. 지금 내가 가진 유일한 문제는 부모의 이름을 표시 할 수 없다는 것입니다. 각 상위 항목의 색상을 지정하여 파일인지 폴더인지 식별하지만 표시되는 이름 텍스트는 표시되지 않습니다. ItemTemplate이 설정 될 때 나는'DisplayMemberPath'를 사용할 수 없습니다. – tjheslin1
아, 미안 해요, 템플릿이 섞여있는 것 같습니다. 내 대답을 편집 했으니 까, 그게 더 낫지. – Sheridan
정말 고마워. 그러나 ' –
tjheslin1