繁体   English   中英

SciChart 在插入新轴时抛出异常

[英]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");
        }
    }

两者都绑定到XAxesYAxesSciChartSurface分别为:

        <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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM