클래스 Node을 사용하여 TreeViewItem을 만듭니다. 예제에서 노드는 소스 코드로 지정됩니다.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를 작성하는 방법을 모르겠습니다.
나는 특히 게시물의 생각처럼 * 텍스트 파일 * 내용 * 등의 스크린 샷 *. ** text **로 게시하고 질문에'Node' 클래스의 코드를 포함시킬 수 있습니까 (틀린 링크) – ASh
"노드"상단을 클릭하십시오. 링크를 수정했습니다. – sanjar14