[英]SciChart throws an exception on new axis insertion
我有两个AxisCollection
:
private AxisCollection _xAxes = new AxisCollection();
public AxisCollection XAxes
{
get => _xAxes;
set
{
_xAxes = value;
OnPropertyChanged("XAxes");
}
}
private AxisCollection _yAxes = new AxisCollection();
public AxisCollection YAxes
{
get => _yAxes;
set
{
_yAxes = value;
OnPropertyChanged("YAxes");
}
}
两者都绑定到XAxes
和YAxes
的SciChartSurface
分别为:
<s:SciChartSurface Grid.Row="0"
Grid.RowSpan="3"
Grid.Column="0"
Grid.ColumnSpan="2"
Panel.ZIndex="0"
RenderableSeries="{Binding RenderableSeries}"
ChartTitle="{Binding ChartTitle}"
XAxes="{Binding XAxes}"
YAxes="{Binding YAxes}">
我尝试使用以下方法添加轴:
public void AddAxes()
{
XAxes.Add(new NumericAxis() { AxisTitle = "X Achse"});
XAxes.Add(new NumericAxis() { AxisTitle = "X Achse 2" });
YAxes.Add(new NumericAxis() { AxisTitle = "Y Achse", AxisAlignment = AxisAlignment.Left});
}
添加第二个 X 轴会导致异常:
“SciChartSurface 没有渲染,因为抛出了一个异常:消息:Ein Element mit dem gleichen Schlüssel wurde bereits hinzugefügt。”
什么意思“已经添加了具有相同键的项目”。 我假设(虽然不确定)它发生是因为所有创建的轴都具有相同的x:Key
。
我该如何解决这个问题?
向每个轴添加唯一的 ID 可以解决问题:
public void AddAxes()
{
XAxes.Add(new NumericAxis() { Id = "1", AxisTitle = "X Achse"});
XAxes.Add(new NumericAxis() { Id = "2", AxisTitle = "X Achse 2" });
YAxes.Add(new NumericAxis() { AxisTitle = "Y Achse", AxisAlignment = AxisAlignment.Left});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.