/// <summary> /// Обработчик события нажатия кнопки переноса сотрудника в коллекцию всех возможных для выбора сотрудников /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void OnRemoveFromSelectedButtonClick(object sender, RoutedEventArgs e) { Employee[] selectedItems = new Employee[SelectedEmployeesListBox.SelectedItems.Count]; Employee firstSelectedItem = (Employee)SelectedEmployeesListBox.SelectedItem; int nextSelection = SelectedEmployeesListBox.Items.IndexOf(firstSelectedItem); SelectedEmployeesListBox.SelectedItems.CopyTo(selectedItems, 0); foreach (Employee item in selectedItems) { RecipientsEditorControlModel.AllEmployees.Add(item); RecipientsEditorControlModel.SelectedEmployees.Remove(item); } SelectedEmployeesListBox.SelectedIndex = nextSelection; if (nextSelection < SelectedEmployeesListBox.Items.Count) { SelectedEmployeesListBox.Focus(); } else { RemoveFromSelectedButton.IsEnabled = false; } }
/// <summary> /// Отмечает всех сотрудников в списке SelectedEmployeesListBox по комбинации ctrl + a /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void OnSelectedEmployeesSelectAllExecuted(object sender, ExecutedRoutedEventArgs e) { SelectedEmployeesListBox.SelectAll(); }