在 wpf 中将 treeviewitem 显示为网格行,其中分支可能具有不同的深度
Display treeviewitem as grid rows in wpf where the branches might have a different depth
我正在尝试创建一个 TreeView,每行包含多个列数据(例如,我的示例中有 2 列,属性 和值),类似于 this thread。与 Heena 提出的解决方案的不同之处在于树可能更复杂一些。每个分支的深度可能不同(因此在某些情况下,节点的 children 可能比其他节点多)。
我会用下面的代码实现代码 class,这样嵌套元素是可能的:
public class TreeItem
{
private TreeItem()
{
}
public TreeItem( string property, string value )
{
if( property == null )
{
property = string.Empty;
}
if( value == null )
{
value = string.Empty;
}
_property = property;
_value = value;
}
public TreeItem( params TreeItem[] items )
{
AddItems( items );
}
public TreeItem( string property, string value, params TreeItem[] items ) : this( property, value )
{
AddItems( items );
}
public string Property
{
get
{
return _property;
}
}
public string Value
{
get
{
return _value;
}
}
public IEnumerable<TreeItem> Items
{
get
{
return (IEnumerable<TreeItem>)_items;
}
}
private void AddItems( params TreeItem[] items )
{
foreach( TreeItem item in items )
{
if( item != null )
{
_items.Add( item );
}
}
}
private readonly string _property;
private readonly string _value;
private readonly List<TreeItem> _items = new List<TreeItem>();
}
用WPF可以实现吗?如果是,如何?
WPF TreeView HierarchicalDataTemplate - binding to object with multiple child collections
我正在尝试创建一个 TreeView,每行包含多个列数据(例如,我的示例中有 2 列,属性 和值),类似于 this thread。与 Heena 提出的解决方案的不同之处在于树可能更复杂一些。每个分支的深度可能不同(因此在某些情况下,节点的 children 可能比其他节点多)。
我会用下面的代码实现代码 class,这样嵌套元素是可能的:
public class TreeItem
{
private TreeItem()
{
}
public TreeItem( string property, string value )
{
if( property == null )
{
property = string.Empty;
}
if( value == null )
{
value = string.Empty;
}
_property = property;
_value = value;
}
public TreeItem( params TreeItem[] items )
{
AddItems( items );
}
public TreeItem( string property, string value, params TreeItem[] items ) : this( property, value )
{
AddItems( items );
}
public string Property
{
get
{
return _property;
}
}
public string Value
{
get
{
return _value;
}
}
public IEnumerable<TreeItem> Items
{
get
{
return (IEnumerable<TreeItem>)_items;
}
}
private void AddItems( params TreeItem[] items )
{
foreach( TreeItem item in items )
{
if( item != null )
{
_items.Add( item );
}
}
}
private readonly string _property;
private readonly string _value;
private readonly List<TreeItem> _items = new List<TreeItem>();
}
用WPF可以实现吗?如果是,如何?
WPF TreeView HierarchicalDataTemplate - binding to object with multiple child collections