private static void OnVerticalAxisPropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
        {
            CartesianCustomAnnotation annotation = sender as CartesianCustomAnnotation;

            if (annotation.VerticalAxis != null)
            {
                annotation.model.SecondAxis = annotation.VerticalAxis.model;
            }
            else
            {
                annotation.model.SecondAxis = null;
            }
        }
        private static void OnContentTemplatePropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
        {
            CartesianCustomAnnotation annotation = sender as CartesianCustomAnnotation;

            annotation.InvalidateContentTemplate();
        }
        private static void OnVerticalValuePropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
        {
            CartesianCustomAnnotation annotation = sender as CartesianCustomAnnotation;

            annotation.model.SecondValue = annotation.VerticalValue;
        }
        private static void OnHorizontalValuePropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
        {
            CartesianCustomAnnotation annotation = sender as CartesianCustomAnnotation;

            annotation.model.FirstValue = annotation.HorizontalValue;
        }