private static void OnStrokeChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            CategoricalStrokedSeries series = d as CategoricalStrokedSeries;

            series.renderer.strokeShape.Stroke = e.NewValue as Brush;

            if (series.isPaletteApplied)
            {
                series.UpdatePalette(true);
            }
        }
        private static void OnStrokeLineJoinChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            CategoricalStrokedSeries series = d as CategoricalStrokedSeries;

            series.renderer.strokeShape.StrokeLineJoin = (PenLineJoin)e.NewValue;
        }
        private static void OnStrokeDashArrayChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            CategoricalStrokedSeries series = d as CategoricalStrokedSeries;

            series.renderer.strokeShape.StrokeDashArray = (e.NewValue as DoubleCollection).Clone();
        }
        private static void OnStrokeThicknessChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            CategoricalStrokedSeries series = d as CategoricalStrokedSeries;

            series.renderer.strokeShape.StrokeThickness = (double)e.NewValue;
        }