2017-10-11 3 views
0

내 응용 프로그램에 WPF Treeview가 있습니다. 여기에서는 폴더와 파일을 보여줍니다. 이들은 다른 항목이므로, 나는 this link에서 제안 된 것처럼 항목을 트리 뷰에 바인딩하기 위해 복합 컬렉션 접근법을 사용하고 있습니다.WPF에서 SelectedItem을 복합 컬렉션 항목과 함께 저장

이제 WPF Treeview에서 SelectedItem을 저장해야합니다. 이를 위해 ViewModel에서 속성을 정의하려고합니다. 그러나 문제는 FolderItem 유형으로 속성을 정의하면 Treeview에서 File을 선택할 때이 속성이 적용되지 않으며 그 반대도 마찬가지라는 점입니다.

폴더 또는 파일인지 여부에 관계없이 선택된 항목을 저장하는 방법이 필요합니다.

도움이 매우 감사합니다. 당신은 object에 재산의 종류 나 유형을 변경할 수 있습니다 중 하나 kvk938

답변

0

감사합니다, 당신의 FolderItem 클래스에서 File 상속 (또는 인터페이스 타입 인 경우 구현) 모두 :

public interface IItem 
{ 
    string Name { get; } 
} 

public class FolderItem : IItem 
{ 
    public string Name { get; set; } 
    public List<File> Files { get; set; } 
} 

public class File : IItem 
{ 
    public string Name { get; set; } 
} 

보기 모델 :

public IItem SelectedItem { get; set; } 
관련 문제