C# WPF TreeView-添加带子级的TreeNode
我有TreeNode对象[namespace System.Windows.Forms]和WPFTreeView控件 我试图通过以下代码使用TreeNode数据填充此wpf控件:C# WPF TreeView-添加带子级的TreeNode,c#,wpf,treeview,treenode,C#,Wpf,Treeview,Treenode,我有TreeNode对象[namespace System.Windows.Forms]和WPFTreeView控件 我试图通过以下代码使用TreeNode数据填充此wpf控件: public partial class TreeWindow : Window { public TreeWindow(TreeNode node) { InitializeComponent(); treeView.Ite
public partial class TreeWindow : Window
{
public TreeWindow(TreeNode node)
{
InitializeComponent();
treeView.Items.Add(node);
}
}
此树节点在树层次结构中包含许多子节点
例如:
-母公司
--孩子
----孩子
--孩子
但是在wpf窗口中,我只得到父节点。
没有展开/折叠按钮。您必须先将它们转换为
System.Windows.Controls.treevieItem
public TreeWindow(TreeNode node)
{
InitializeComponent();
treeView.Items.Add(ConvertToWpf(node));
}
TreeViewItem ConvertToWpf(TreeNode node)
{
var wpfItem = new TreeViewItem();
wpfItem.Header = node.Text;
foreach(var child in node.Nodes)
{
wpfItem.Items.Add(ConvertToWpf(child));
}
return wpfItem;
}
只有一个小问题-在叶节点上,我仍然得到“展开”按钮我认为这是因为TreeViewItem有“展开”按钮。如果您使用另一个控件作为叶项(如按钮),问题就解决了