2014-04-15 6 views
0

ListView 컨트롤을 사용하여 TreeView와 같은 것을 만들고 싶습니다. 이 같은 동일한 기본 클래스 두 개의 클래스가 있습니다 :WPF ListView with HierarchicalDataTemplate

public abstract class DataObjectBase 
{ 
    public string Name { get; set; } 

    public override string ToString() 
    { 
     return this.Name; 
    } 
} 

public class SimpleDataObject : DataObjectBase 
{ 
    public object Value { get; set; } 
} 

public class ComplexDataObject : DataObjectBase 
{ 
    private ObservableCollection<DataObjectBase> _DataObjects = new ObservableCollection<DataObjectBase>(); 

    public ObservableCollection<DataObjectBase> DataObjects 
    { 
     get { return _DataObjects; } 
     set { _DataObjects = value; } 
    } 
} 

가 어떻게이 HirarchicalDataTemplate를 사용하여 ListView에이 구조를 결합 할 수 있습니까? 복잡한 DataObject는 _DataObjects ObservableCollection에 n 개의 하위 요소를 가질 수 있습니다.

답변

2

대답은 ... 아닙니다. ou가 설명서를 보는 경우 http://msdn.microsoft.com/en-us/library/system.windows.hierarchicaldatatemplate(v=vs.110).aspx HierarchicalDataTemplates는 HeaderedItemsControls에서만 사용할 수 있습니다. ListView는 간단한 ItemsControl에서 상속됩니다.

TreeView를 사용하거나 고전적인 DataTemplates를 사용하여 구현할 수 있습니다.

+0

빠른 답변 감사드립니다. 고전적인 방법에 대한 모범이 있습니까? 그렇지 않으면 TreView를 사용해야합니다. –

+0

Oups 내가 틀렸어. (ListBox처럼 ListView 행에 대한 템플릿을 정의 할 수 없습니다. – Dmitry