Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 向SciChart BoxAnnotation添加更多夹点控制柄_C#_Scichart - Fatal编程技术网

C# 向SciChart BoxAnnotation添加更多夹点控制柄

C# 向SciChart BoxAnnotation添加更多夹点控制柄,c#,scichart,C#,Scichart,我正在寻找一种方法,将夹点控制柄添加到长方体注释的左中心和右中心(下面显示的位置带有红色圆圈)。默认情况下,夹点控制柄仅在BoxAnnotation的四个角上创建 目前,我正在代码隐藏和视图模型中创建注释,而不是XAML 我尝试通过组合LineAnnotation和BoxAnnotation来创建自定义。但是,LineAnnotation夹点控制柄仅影响直线,而不影响整个复合注释 class MyCompositeAnnotation : CompositeAnnotation

我正在寻找一种方法,将夹点控制柄添加到长方体注释的左中心和右中心(下面显示的位置带有红色圆圈)。默认情况下,夹点控制柄仅在BoxAnnotation的四个角上创建

目前,我正在代码隐藏和视图模型中创建注释,而不是XAML

我尝试通过组合LineAnnotation和BoxAnnotation来创建自定义。但是,LineAnnotation夹点控制柄仅影响直线,而不影响整个复合注释

    class MyCompositeAnnotation : CompositeAnnotation
    {
        public MyCompositeAnnotation()
        {
            //BoxAnnotation
            Annotations.Add(new BoxAnnotation
            {
                CoordinateMode = AnnotationCoordinateMode.Relative,
                IsEditable = false,
                ResizeDirections = SciChart.Charting.XyDirection.XDirection,
                Background = grayBrushLight,
                BorderBrush = grayBrushRegular,
                X1 = 0,
                X2 = 1,
                Y1 = 0,
                Y2 = 1
            });

            //Center dashed line
            Annotations.Add(new LineAnnotation
            {
                CoordinateMode = AnnotationCoordinateMode.Relative,
                Stroke = grayBrushRegular,
                StrokeThickness = 1,
                IsEditable = true,
                ResizeDirections = SciChart.Charting.XyDirection.XDirection,
                StrokeDashArray = new DoubleCollection(new double[] { 2, 4 }),
                X1 = 0,
                X2 = 1,
                Y1 = 0.5,
                Y2 = 0.5
            });
        }
     }

更新:响应答案。将代码从构造函数移动到onload方法并不能解决此问题。显示的唯一夹点控制柄位于左上角、右上角、左下角和右下角


我认为你不应该加入ctor。尝试添加已加载的函数

class MyCompositeAnnotation : CompositeAnnotation
{

    public MyCompositeAnnotation()
    {
        Loaded+=OnLoaded;

    }

    private void OnLoaded(object sender, RoutedEventArgs e)
    {
        //BoxAnnotation
        Annotations.Add(new BoxAnnotation
        {
            CoordinateMode = AnnotationCoordinateMode.Relative,
            IsEditable = false,
            ResizeDirections = SciChart.Charting.XyDirection.XDirection,
            Background = grayBrushLight,
            BorderBrush = grayBrushRegular,
            X1 = 0,
            X2 = 1,
            Y1 = 0,
            Y2 = 1
        });

        //Center dashed line
        Annotations.Add(new LineAnnotation
        {
            CoordinateMode = AnnotationCoordinateMode.Relative,
            Stroke = grayBrushRegular,
            StrokeThickness = 1,
            IsEditable = true,
            ResizeDirections = SciChart.Charting.XyDirection.XDirection,
            StrokeDashArray = new DoubleCollection(new double[] { 2, 4 }),
            X1 = 0,
            X2 = 1,
            Y1 = 0.5,
            Y2 = 0.5
        });
        Loaded -= OnLoaded;
    }
}

将代码从构造函数移动到onload并不能解决这个问题。我在问题中添加了一个更新的图像。即使在移动代码后,唯一的夹点控制柄仍位于上下角。