C# 向SciChart BoxAnnotation添加更多夹点控制柄
我正在寻找一种方法,将夹点控制柄添加到长方体注释的左中心和右中心(下面显示的位置带有红色圆圈)。默认情况下,夹点控制柄仅在BoxAnnotation的四个角上创建 目前,我正在代码隐藏和视图模型中创建注释,而不是XAML 我尝试通过组合LineAnnotation和BoxAnnotation来创建自定义。但是,LineAnnotation夹点控制柄仅影响直线,而不影响整个复合注释C# 向SciChart BoxAnnotation添加更多夹点控制柄,c#,scichart,C#,Scichart,我正在寻找一种方法,将夹点控制柄添加到长方体注释的左中心和右中心(下面显示的位置带有红色圆圈)。默认情况下,夹点控制柄仅在BoxAnnotation的四个角上创建 目前,我正在代码隐藏和视图模型中创建注释,而不是XAML 我尝试通过组合LineAnnotation和BoxAnnotation来创建自定义。但是,LineAnnotation夹点控制柄仅影响直线,而不影响整个复合注释 class MyCompositeAnnotation : CompositeAnnotation
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并不能解决这个问题。我在问题中添加了一个更新的图像。即使在移动代码后,唯一的夹点控制柄仍位于上下角。