private void CheckBox_Checked(object sender, RoutedEventArgs e) { if (sender is CheckBox check && check.DataContext is LineViewData line) { var lines = chartView.GetLines(); if (line.enabled && lines.Except(new[] { line }).Any(x => x.enabled)) { line.enabled = false; check.IsChecked = false; chartView.OnCheckChanged(); } else if (!line.enabled) { line.enabled = true; check.IsChecked = true; chartView.OnCheckChanged(); } else { VisualUtilities.ShakeView(check); return; } if (data.activeZoom > 0 && zoomedChartView != null) { var zoomedLines = zoomedChartView.GetLines(); var position = lines.IndexOf(line); if (position < zoomedLines.Count) { zoomedLines[position].enabled = line.enabled; zoomedChartView.OnCheckChanged(); } } //var border = //test.onCheckChanged(); } }