/// <summary> /// Вспомогательная функция для обработки действий при выборе элемента в режиме множественного выделения элементов с выбором элемента по умолчанию, если ничего не выбрано. /// </summary> /// <remarks> /// Helper function for handling actions when selecting an item in multiple selection mode with a default item selection if nothing is selected. /// </remarks> internal void MultipleSelectionWithDefault(bool value, SelectionAction state) { if (ParentUIEnumSwitch != null) { IsSelected = value; switch (state) { case SelectionAction.FirstSelection: if (IsSelected) { if (FirstTimeSelected) { FirstTimeSelected = false; } OnSelected(new RoutedEventArgs(Selector.SelectedEvent, this)); } else { if (FirstTimeSelected) { FirstTimeSelected = false; } OnUnselected(new RoutedEventArgs(Selector.UnselectedEvent, this)); } ParentUIEnumSwitch.HandleMultipleSelectionWithDefault(DataContext); break; case SelectionAction.Selection: if (IsSelected) { OnSelected(new RoutedEventArgs(Selector.SelectedEvent, this)); } else { OnUnselected(new RoutedEventArgs(Selector.UnselectedEvent, this)); } ParentUIEnumSwitch.HandleMultipleSelectionWithDefault(DataContext); break; } } }