Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.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在插入新轴时引发异常_C#_Wpf_Scichart - Fatal编程技术网

C# SciChart在插入新轴时引发异常

C# SciChart在插入新轴时引发异常,c#,wpf,scichart,C#,Wpf,Scichart,我有两个AxisCollections: private AxisCollection _xAxes = new AxisCollection(); public AxisCollection XAxes { get => _xAxes; set { _xAxes = value; OnPropertyChanged("XAxes"); } }

我有两个
AxisCollection
s:

    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");
        }
    }
两者分别绑定到
SciChartSurface
XAxes
YAxes

        <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}">
添加第二个X轴会导致异常:

“SciChartSurface未呈现,因为引发了异常: 信息:这是一个非常重要的因素。”

什么是“已添加具有相同密钥的项”。我假设(尽管不确定)发生这种情况是因为所有创建的轴都具有相同的
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});
    }
    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});
    }