private void Open(D2pDirectory directory) { m_rows.Clear(); var rows = new List <D2PGridRow>(); if (directory == null) { rows.AddRange(m_file.RootDirectories.Select(rootDirectory => new D2PFolderRow(rootDirectory))); rows.AddRange( m_file.Entries.Where(entry => entry.Directory == null).Select(entry => new D2PFileRow(entry))); } else { rows.Add(new D2PLastFolderRow(directory.Parent)); rows.AddRange(directory.Directories.Select(subFolder => new D2PFolderRow(subFolder.Value))); rows.AddRange(directory.Entries.Select(entry => new D2PFileRow(entry))); } CurrentFolder = directory; m_readOnylRows = new ReadOnlyObservableCollection <D2PGridRow>(m_rows = new ObservableCollection <D2PGridRow>(rows)); OnPropertyChanged("Rows"); }
public D2PLastFolderRow(D2pDirectory folder) : base(folder) { }
public D2PFolderRow(D2pDirectory folder) { m_folder = folder; }