private void PatchesListBox_MouseDoubleClick(object sender, MouseButtonEventArgs e) { lastSelectedPatch = PatchesListBox.SelectedIndex; try { AddonsAndPatches AddonEntry = PatchesListBox.SelectedItem as AddonsAndPatches; if (AddonEntry == null) { return; } if (AddonEntry.isChecked) { AddonEntry.isChecked = false; } else { AddonEntry.isChecked = true; } PatchesListBox.SelectedItem = AddonEntry; CollectionViewSource.GetDefaultView(PatchesListBox.DataContext).Refresh(); PatchesListBox.SelectedIndex = lastSelectedPatch; } catch (Exception ex) { var dialog = new ErrorPrompt(ex.Message); dialog.ShowDialog(); } }
private void PatchesListBox_KeyUp(object sender, KeyEventArgs e) { if (e.Key == Key.Space) { lastSelectedPatch = PatchesListBox.SelectedIndex; AddonsAndPatches AddonEntry = PatchesListBox.SelectedItem as AddonsAndPatches; if (AddonEntry.isChecked) { AddonEntry.isChecked = false; } else { AddonEntry.isChecked = true; } PatchesListBox.SelectedItem = AddonEntry; CollectionViewSource.GetDefaultView(PatchesListBox.DataContext).Refresh(); PatchesListBox.SelectedIndex = lastSelectedPatch; e.Handled = true; } }