// Removes SelectedIndex of FileView from FileListCollection private void RemoveAction_OnClick(object sender, RoutedEventArgs e) { if (FileView.SelectedItems.Count > 0) { var tempIndex = FileView.SelectedIndex; var tempTotal = FileView.Items.Count; FileListCollection.RemoveAt(FileView.SelectedIndex); // Makes sure selected index is not over or under FileListcollection size if (tempIndex + 1 != tempTotal) { FileView.SelectedIndex = tempIndex; } else { FileView.SelectedIndex = FileView.Items.Count - 1; } } }
// Adds files to FileListCollection private void AddAction_OnClick(object sender, RoutedEventArgs e) { // Opens Windows Explorer File Dialog window for simple selection OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); openFileDialog.Filter = "All files (*.*)|*.*"; openFileDialog.Multiselect = true; if (openFileDialog.ShowDialog() == true) { foreach (var path in openFileDialog.FileNames) { long tempSize = new FileInfo(path).Length; string Extension = Path.GetExtension(path); // Adds file extension to FileTypeList if it does not already contains it if (!FileTypeList.Contains(Extension)) { FileTypeList.Add(Extension); } // Adds new File to FileListCollection with provided information FileListCollection.Add(new File { FileIcon = GetIcon(path), FileName = Path.GetFileName(path), FileSize = Util.BytesToSizeUnit(tempSize) }); } } // Sets selected index of FileView for easier control of ArchiveEmptyBtn if (FileView.Items.Count > 0) { FileView.SelectedIndex = FileView.Items.Count - 1; } }