예제 #1
0
        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;
            }
        }