private void _box_Changed(object sender, RoutedEventArgs e) { if (_tab.List.SelectedItem == null) { return; } if (_tab.ItemsEventsDisabled) { return; } int newVal = _boxes.Skip(1).Where(p => p.IsChecked == true).Sum(p => (int)p.Tag); var table = _tab.GetTable <int>(ServerDbs.Skills); table.Commands.Set(_tab.List.SelectedItem as ReadableTuple <int>, _attribute, newVal); _boxes[0].IsChecked = newVal == 0; }