[ 2paca.zwaka @ 03.01.2012. 16:58 ] @
Imam klasu Folder i u njoj metodu LoadSubFolders() koja 'puni' ObservableCollection<Folder>. Aplikacija je uradjena u WPF na MVVM obrazcu i ima TreeView kontrolu, napravljena na principu Load on demand..... Interesuje me dali postoji neki brzi nacin od ovoga jer mi za ucitavanje podfoldera u 'C:\\WINDOWS\\' treba oko 2 sekunde....... Dali da 'zalepim' C-om i Win32 funkcijama poput FindNextFile i kako ? ili eventualno background thread da ucitava ove podatke.............. Code: public void LoadSubFolders() { if (!this.HasLoadedSubFolders) { // Pomocni niz koji koristimo za odredjivanje dali folder zadrzi podfoldere IO.DirectoryInfo[] testArray; foreach (IO.DirectoryInfo directory in this._info.GetDirectories("*", IO.SearchOption.TopDirectoryOnly)) { Folder subDirectory; // Ispitujemo dali taj folder ima pod foldera ili je krajnji try { testArray = directory.GetDirectories("*", IO.SearchOption.TopDirectoryOnly); if (testArray.Length > 0) // Ako nije krajnji dodaje mu se DummyChild // Zbog + simbola ( Expander ) subDirectory = new Folder(directory, true); else // U suprotom folder je krajnji // I ne dodajemo mu DummyChild jer ne zelimo + simbol ( Expander ) subDirectory = new Folder(directory, false); // Dodajemo folder u parent folder this.SubFolders.Add(subDirectory); } catch (Exception exc) { MessageBox.Show(exc.Message); } } this.HasLoadedSubFolders = true; } } Hvala unapred..... ![]() |