【发布时间】:2017-03-06 05:30:38
【问题描述】:
我使用 Node 类创建我的 TreeViewItems。在示例中的节点是在源代码中指定的。但是,如果要从具有如下内容的文本文件中导入节点,我该怎么做:
有什么想法吗?
我已经尝试了以下方法。
public MainWindowVM()
{
private ObservableCollection<Node> mRootNodes;
public IEnumerable<Node> RootNodes { get { return mRootNodes; } }
List<string[]> TreeNodes = new List<string[]>();
string[] lines = null;
try
{
lines = System.IO.File.ReadAllLines(MainWindow.TextFilePath , System.Text.Encoding.Default);
}
catch (IOException ex)
{
MessageBox.Show(ex.Message);
Environment.Exit(0);
}
if (lines == null || lines.Length == 0)
{
MessageBox.Show("Text file has no content!");
Environment.Exit(0);
}
foreach (var line in lines)
{
TreeNodes.Add(line.Split('|'));
}
Node newNode = null;
Node childNode = null;
Node root = new Node() { Name = TreeNodes[0][0] };
if (TreeNodes[0].Length > 1)
{
newNode = new Node() { Name = TreeNodes[0][1] };
root.Children.Add(newNode);
}
for (int s = 2; s < TreeNodes[0].Length; s++)
{
childNode = new Node() { Name = TreeNodes[0][s] };
newNode.Children.Add(childNode);
newNode = childNode;
}
}
但我只得到前两个节点。我不知道如何用循环构建整个 TreeView。
【问题讨论】:
-
我特别喜欢将文本文件内容发布为屏幕截图的想法。您能否将其发布为 text 并在问题中包含
Node类的代码(链接不正确) -
请点击顶部的“节点”。我已经更正了链接。
标签: wpf file text treeview treeviewitem