private void UpdateDirectoriesTree(string path)
        {
            if (Path.GetPathRoot(path) != path)
            {
                path = path.TrimEnd('\\');
            }
            Debug.WriteLine(path);
            if (!Directory.Exists(path))
            {
                _snackbarMessageQueue.Enqueue("Wrong Path!", "OK", () => Trace.WriteLine("Actioned"));
                return;
            }
            ConfigsPath = path;
            var selectedDir = new TreeViewDirectory(path, path)
            {
                Directories = Directory.GetDirectories(path).Select(p => new TreeViewDirectory(p)).ToList(),
                Files       = Directory.GetFiles(path).Select(p => new TreeViewFile(p)).ToList(),
                IsExpanded  = true,
                BackToPreviousMenuItemEnabled = true
            };

            //EVENTS
            selectedDir.OpenDirectoryEvent  += OpenDirectory;
            selectedDir.BackToPreviousEvent += BackToPrevious;
            selectedDir.ShowInExplorerEvent += ShowInExplorer;
            foreach (var dir in selectedDir.Directories)
            {
                dir.OpenDirectoryEvent  += OpenDirectory;
                dir.ShowInExplorerEvent += ShowInExplorer;
            }
            foreach (var file in selectedDir.Files)
            {
                file.ShowInExplorerEvent += ShowInExplorer;
            }

            RootDirectories.Clear();
            RootDirectories.Add(selectedDir);

            IsDirectoryInitialized = true;
        }