SciChart:MVVM 中的 VerticalLineAnnotation 不可见
SciChart: VerticalLineAnnotation in MVVM not visible
我正在尝试使用 MVVM 将垂直线注释添加到我的图形中。我在 ViewModel 上有一个 AnnotationCollection:
public AnnotationCollection Lines
{
get
{
if (_lines == null)
{
_lines= new AnnotationCollection();
foreach (var r in MyCollection)
{
_lines.Add(
new VerticalLineAnnotation() {
X1 = r.Xvalue,
VerticalAlignment = VerticalAlignment.Stretch,
Y1 = 0,
}
);
}
}
return _lines;
}
我认为绑定的是:
<sci:SciChartSurface
...
Annotations="{Binding Lines}"
...
我知道绑定是有效的,因为断点在 getter 中命中(并且它没有在其他任何地方使用)。我检查了注释的属性,它们似乎有高度、宽度、默认的 Stroke 和 StrokeThickness。我试过手动设置各种附加属性。然而,无论我做什么,这些线都不会显示在图表上。我做错了什么?
我在网上搜索了答案,但到目前为止我发现的所有内容似乎都适用于旧版本的 SciChart API。
已解决:
我正在使用视图中定义了 AxisId 的轴。我只需要为注释设置 XAxisId 和 YAxisId。
我正在尝试使用 MVVM 将垂直线注释添加到我的图形中。我在 ViewModel 上有一个 AnnotationCollection:
public AnnotationCollection Lines
{
get
{
if (_lines == null)
{
_lines= new AnnotationCollection();
foreach (var r in MyCollection)
{
_lines.Add(
new VerticalLineAnnotation() {
X1 = r.Xvalue,
VerticalAlignment = VerticalAlignment.Stretch,
Y1 = 0,
}
);
}
}
return _lines;
}
我认为绑定的是:
<sci:SciChartSurface
...
Annotations="{Binding Lines}"
...
我知道绑定是有效的,因为断点在 getter 中命中(并且它没有在其他任何地方使用)。我检查了注释的属性,它们似乎有高度、宽度、默认的 Stroke 和 StrokeThickness。我试过手动设置各种附加属性。然而,无论我做什么,这些线都不会显示在图表上。我做错了什么?
我在网上搜索了答案,但到目前为止我发现的所有内容似乎都适用于旧版本的 SciChart API。
已解决: 我正在使用视图中定义了 AxisId 的轴。我只需要为注释设置 XAxisId 和 YAxisId。