Создаю свои TreeViewItems с классом Node. В примере узлы указаны в исходном коде. Но как это сделать, если узлы должны быть импортированы из текстового файла с содержимым, как это:C# WPF: Создать TreeView из текстового файла
Любые идеи?
Я пробовал следующее.
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 с помощью цикла.
мне особенно нравится идея размещения * текстовый файл * содержание, как * Скриншот *. Можете ли вы разместить его как ** текст **, а также включить код класса «Node» в вопрос (ссылка неверна) – ASh
, пожалуйста, нажмите на верхнюю часть «Узел». Я исправил ссылку. – sanjar14