((Syncfusion))在SfChart通过数据绑定接收到第二个数据对象后,我得到一个错误:System.NullReferenceException

问题描述 投票:0回答:1

我有一个MVVMCross应用程序(目前只有Android,并且我正在使用Syncfusion呈现一些数据。数据类具有DateTime属性和double属性。数据类正确接收其值,并将其添加到列表中,视图可在其中通过DataBinding访问它们。具有数据绑定的视图和图表如下所示:

 <StackLayout HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
                <sfChart:SfChart HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" >

                    <sfChart:SfChart.Legend>
                        <sfChart:ChartLegend />
                    </sfChart:SfChart.Legend>

                    <sfChart:SfChart.Title>
                        <sfChart:ChartTitle Text="Daten lesen" />
                    </sfChart:SfChart.Title>

                    <sfChart:SfChart.PrimaryAxis>
                        <sfChart:DateTimeAxis>
                            <sfChart:DateTimeAxis.Title>
                                <sfChart:ChartAxisTitle Text="Zeitpunkt" />
                            </sfChart:DateTimeAxis.Title>
                        </sfChart:DateTimeAxis>
                    </sfChart:SfChart.PrimaryAxis>

                    <sfChart:SfChart.SecondaryAxis>
                        <sfChart:NumericalAxis>
                            <sfChart:NumericalAxis.Title>
                                <sfChart:ChartAxisTitle Text="Wert" />
                            </sfChart:NumericalAxis.Title>
                        </sfChart:NumericalAxis>
                    </sfChart:SfChart.SecondaryAxis>

                    <sfChart:SfChart.Series>
                        <sfChart:LineSeries ItemsSource="{Binding ChartCurrentData.ChartDataLog}" XBindingPath="DateTimeValue" YBindingPath="Value">
                        </sfChart:LineSeries>
                    </sfChart:SfChart.Series>
                </sfChart:SfChart>
            </StackLayout>

数据在此属性的ViewModel中表示:

private ChartData _chartCurrentData;
 public ChartData ChartCurrentData { get { return _chartCurrentData; } set { _chartCurrentData = value; RaisePropertyChanged(() => ChartCurrentData); } }

ChartData是存储具有2个属性的数据日志(ChartDataLog)列表的类:DateTime DateTimeValue和double Value。

当我访问图表时,以及通过Eventhandler和MvxNotifyProprtyChanged发送第一个值后,图表本身都可以很好地显示,该值的图表轴将适应Right范围(以及Date),但只要发送第二个值get,出现以下错误:

对象引用未设置为对象的实例。System.NullReferenceException:对象引用未设置为对象的实例。在E:\ A_work \ 2239 \ s \ src \ Debugging.VisualStudio.Vsix \ Integration \ ExceptionsAdapter.cs:line 71中的Mono.Debugging.VisualStudio.ExceptionsAdapter.OnUnhandledException(Object sender,TargetEventArgs args)处在E:\ A_work \ 2239 \ s \ external \ debugger-libs \ Mono.Debugging \ Mono.Debugging.Client \ DebuggerSession.cs:line 1143中的Mono.Debugging.Client.DebuggerSession.OnTargetEvent(TargetEventArgs args)处在E:\ A_work \ 2239 \ s \ external \ debugger-libs \ Mono.Debugging.Soft \ SoftDebuggerSession.cs:line 1906中的Mono.Debugging.Soft.SoftDebuggerSession.HandleBreakEventSet(Event [] es,布尔出队)在E:\ A_work \ 2239 \ s \ external \ debugger-libs \ Mono.Debugging.Soft \ SoftDebuggerSession.cs:line 1589中的Mono.Debugging.Soft.SoftDebuggerSession.HandleEventSet(EventSet es)处在E:\ A_work \ 2239 \ s \ external \ debugger-libs \ Mono.Debugging.Soft \ SoftDebuggerSession.cs:line 1489中的Mono.Debugging.Soft.SoftDebuggerSession.EventHandler()中]

我已经尝试了很多东西,所以我什至都不知道从哪里开始,所以对此的任何建议都已经足够了。在此先感谢

我有一个MVVMCross应用程序(目前只有Android,并且我正在使用Syncfusion呈现一些数据。数据类具有DateTime属性和double属性。数据类收到它的...

c# android xamarin.forms mvvmcross syncfusion
1个回答
0
投票

想通了。必须通过UI-Thread添加它...

© www.soinside.com 2019 - 2024. All rights reserved.