@dovid
אין לי מבנה אני בונה אותו מתוך תיקיות
public static void PopulateTreeView(TreeView treeView, string booksDirectory, bool isMyBooks)
{
Z_SourceFolder z_SourceFolder = new Z_SourceFolder();
if (Directory.Exists(booksDirectory))
{
DirectoryInfo rootDirectory = new DirectoryInfo(booksDirectory);
CreateTreeView(rootDirectory, treeView, isMyBooks);
}
}
static void CreateTreeView(DirectoryInfo directory, ItemsControl parentItem, bool isMyBooks)
{
foreach (var subDirectory in directory.GetDirectories())
{
TreeViewItem subItem = CreateDirectoryItem(subDirectory, isMyBooks);
parentItem.Items.Add(subItem);
CreateTreeView(subDirectory, subItem, isMyBooks);// Recursively populate for subdirectories
}
foreach (var file in directory.GetFiles())
{
TreeViewItem fileItem = CreateFileItem(file, isMyBooks);
parentItem.Items.Add(fileItem);
}
}
static TreeViewItem CreateDirectoryItem(DirectoryInfo directory, bool isMyBooks)
{
string name = Z_TranslatorClass.TranslateFolderName(directory.Name);
name = Regex.Replace(name, "[0-9]+|_", "");
TreeViewItem item = new TreeViewItem();
if (isMyBooks == true) { item.Foreground = System.Windows.Media.Brushes.Firebrick; }
item.Header = "🗀 " + name;
item.Tag = directory.FullName;
return item;
}
static TreeViewItem CreateFileItem(FileInfo file, bool isMyBooks)
{
string name = file.Name.Replace(".txt", "");
if (file.FullName.Contains("ToratEmetInstall"))
{ name = Z_TranslatorClass.TranslateFilename(file.FullName); }
name = Regex.Replace(name, "[0-9]+|_", "");
TreeViewItem item = new TreeViewItem();
if (isMyBooks == true) { item.Foreground = System.Windows.Media.Brushes.Firebrick; }
item.Header = "📑 " + name;
item.Tag = file.FullName;
return item;
}