private void ListBox_OnPreviewMouseDown(object sender, MouseButtonEventArgs e) { var item = ItemsControl.ContainerFromElement((ItemsControl)sender, (DependencyObject)e.OriginalSource) as ListBoxItem; if (item == null) { return; } var series = (LineSeries)item.Content; if (e.LeftButton == MouseButtonState.Pressed) { series.Visibility = series.Visibility == Visibility.Visible ? Visibility.Hidden : Visibility.Visible; } else if (e.RightButton == MouseButtonState.Pressed) { int index = -1; if (YRadioButton.IsChecked.Value) { index = YSeries.IndexOf(series); } else if (XRadioButton.IsChecked.Value) { index = XSeries.IndexOf(series); } else if (YSpeedRadioButton.IsChecked.Value) { index = YSpeedSeries.IndexOf(series); } else { index = XSpeedSeries.IndexOf(series); } if (index == YSeries.Count - 1) { return; } YSeries.RemoveAt(index); XSeries.RemoveAt(index); YSpeedSeries.RemoveAt(index); XSpeedSeries.RemoveAt(index); AnimCanvas.Children.Remove(Ellipsies[index]); AnimCanvas.Children.Remove(Polylines[index]); Ellipsies.RemoveAt(index); Polylines.RemoveAt(index); YAnimations.RemoveAt(index); XAnimations.RemoveAt(index); Parameters.RemoveAt(index); UpdateAnimation = true; DataChanged = true; } }