Árvore de dados ou data tree view

Boa tarde caros amigos, sou novo aqui no fórum.
A tempos venho resolvendo minhas dúvidas apenas lendo outras dúvidas de outros colegas aqui no fórum, mas atualmente gostaria de resolver algo que anda não encontrei uma solução interessante.

Atualmente estou desenvolvendo um sistema de Gerenciamento de Documentos que, os usuários tem a liberdade de criar diretórios e subdiretórios e realizar upload de arquivos para esses diretórios.

Hoje a minha necessidade é desenvolver uma maneira que, esses dados sejam organizados como uma árvore de dados, semelhante a uma janela no Windows Explorer, onde o usuário pode expandir e recolher, mas eu gostaria de que esses dados estivessem sempre atualizados com as ações dos usuários.

Espero poder contar com a experiência de vocês.
Obrigado
Abraços