具有层次结构数据模板的WPF ListView
本文关键字:WPF ListView 层次结构 数据 | 更新日期: 2023-09-27 17:58:21
我想用ListView控件创建类似TreeView的东西。有两个类具有相同的基类,如下所示:
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个子元素。
答案是。。。你没有。如果您查看文档http://msdn.microsoft.com/en-us/library/system.windows.hierarchicaldatatemplate(v=vs.110).aspx层次结构数据模板只能与HeaderedItemsControlls一起使用。ListView继承自简单ItemsControl。
您可以使用TreeView或使用经典的DataTemplates来实现它。