public static void TreeListBoxPreviewKeyDown(TreeListBox sender, KeyEventArgs e) { if (((sender != null) && (e != null)) && (e.Key == Key.Space)) { TreeListBoxInfo selectedItem = sender.SelectedItem as TreeListBoxInfo; if (selectedItem != null) { SelectableOptionViewModel dataItem = selectedItem.DataItem as SelectableOptionViewModel; dataItem.IsSelected = new bool?(dataItem.IsSelected.HasValue ? !dataItem.IsSelected.Value : false); } e.Handled = true; } }
public static void ListBoxPreviewKeyDown(ListBox sender, KeyEventArgs e) { if (((sender != null) && (e != null)) && (e.Key == Key.Space)) { if (sender.SelectedItems.Count > 0) { HashSet <SelectableOptionViewModel> selectedItemsSet = new HashSet <SelectableOptionViewModel>(sender.SelectedItems.Cast <SelectableOptionViewModel>()); SelectableOptionViewModel model = sender.Items.Cast <SelectableOptionViewModel>().First <SelectableOptionViewModel>(item => selectedItemsSet.Contains(item)); bool flag = model.IsSelected.HasValue ? !model.IsSelected.Value : false; foreach (SelectableOptionViewModel model2 in sender.SelectedItems) { model2.IsSelected = new bool?(flag); } } e.Handled = true; } }