private void ZoomOut(StatisticsItemUserControl clickChart)
        {
            clickChart.IsZoomed = false;
            isChartZoomed       = false;

            DoubleAnimation da = new DoubleAnimation(1, TimeSpan.FromMilliseconds(500).Duration());

            this.ChartGridOverview.BeginAnimation(Grid.OpacityProperty, da);

            Grid placeholderGrid = this.ChartGridOverview.Children[lastZoomedIndex] as Grid;

            Point pt  = placeholderGrid.PointToScreen(new Point(0, 0));
            Point pt1 = MainGrid.PointFromScreen(pt);

            Point ptSize  = placeholderGrid.PointToScreen(new Point(placeholderGrid.ActualWidth, placeholderGrid.ActualHeight));
            Point ptSize1 = MainGrid.PointFromScreen(ptSize);

            ThicknessAnimation marginAnim = new ThicknessAnimation();

            marginAnim.From           = new Thickness(0);
            marginAnim.To             = new Thickness(pt1.X, pt1.Y, MainGrid.ActualWidth - ptSize1.X, MainGrid.ActualHeight - ptSize1.Y);
            marginAnim.Duration       = TimeSpan.FromMilliseconds(500).Duration();
            marginAnim.EasingFunction = new CubicEase()
            {
                EasingMode = EasingMode.EaseOut
            };
            marginAnim.Completed += new EventHandler(marginAnim_Completed);

            clickChart.BeginAnimation(Grid.MarginProperty, marginAnim);
        }
        private void ZoomIn(StatisticsItemUserControl clickChart)
        {
            clickChart.IsZoomed = true;
            isChartZoomed       = true;

            DoubleAnimation da = new DoubleAnimation(0, TimeSpan.FromMilliseconds(500).Duration());

            this.ChartGridOverview.BeginAnimation(Grid.OpacityProperty, da);

            lastZoomedIndex = this.ChartGridOverview.Children.IndexOf(clickChart);
            this.ChartGridOverview.Children.Remove(clickChart);
            this.ChartGridOverview.Children.Insert(lastZoomedIndex, new Grid());        // Platzhalter

            gridZoomChart.Children.Add(clickChart);

            Point pt  = clickChart.PointToScreen(new Point(0, 0));
            Point pt1 = MainGrid.PointFromScreen(pt);

            Point ptSize  = clickChart.PointToScreen(new Point(clickChart.ActualWidth, clickChart.ActualHeight));
            Point ptSize1 = MainGrid.PointFromScreen(ptSize);

            ThicknessAnimation marginAnim = new ThicknessAnimation();

            marginAnim.From           = new Thickness(pt1.X, pt1.Y, MainGrid.ActualWidth - ptSize1.X, MainGrid.ActualHeight - ptSize1.Y);
            marginAnim.To             = new Thickness(0);
            marginAnim.Duration       = TimeSpan.FromMilliseconds(500).Duration();
            marginAnim.EasingFunction = new CubicEase()
            {
                EasingMode = EasingMode.EaseOut
            };
            clickChart.BeginAnimation(Grid.MarginProperty, marginAnim);
        }
        void marginAnim_Completed(object sender, EventArgs e)
        {
            StatisticsItemUserControl clickChart = gridZoomChart.Children[0] as StatisticsItemUserControl;

            gridZoomChart.Children.Remove(clickChart);

            this.ChartGridOverview.Children.RemoveAt(lastZoomedIndex);
            this.ChartGridOverview.Children.Insert(lastZoomedIndex, clickChart);        // Platzhalter
            clickChart.BeginAnimation(Grid.MarginProperty, null);
        }
        private void AddStatistic(StatisticType statisticType, StatisticChartType chartType)
        {
            StatisticsItemUserControl chartControl = new StatisticsItemUserControl();

            chartControl.DataBase           = _dataBase;
            chartControl.StatisticType      = statisticType;
            chartControl.StatisticChartType = chartType;

            ChartGridOverview.Children.Add(chartControl);
        }
        private void CommandBindingZoomChart_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            StatisticsItemUserControl clickChart = e.Parameter as StatisticsItemUserControl;

            if (clickChart.IsZoomed)
            {
                ZoomOut(clickChart);
            }
            else
            {
                ZoomIn(clickChart);
            }
        }