Binding ChartValue 界面不能及时更新

采用MVVM的模式,xaml的代码

.cs文件

private readonly ChartValues path1Flowrate = new ChartValues();

public ChartValues Path1Flowrate

        {

            get

            {

                return path1Flowrate;

            }

        }


在livechart的源代码中ChartValues的定义

public class ChartValues : NoisyCollection, IChartValues, INoisyCollection, IList, ICollection, IEnumerable, INotifyPropertyChanged, INotifyCollectionChanged

因为已经实现了相应的Changed接口,所以理论上说在Path1Flowrate中添加或者删除数据的时候,UI会相应的变化。但是在.cs文件中

调用path1Flowrate.Add(data.FlowRate)时UI经常不能及时更新,必须要用((INoisyCollection)path1Flowrate).Add(data.FlowRate);才可以。从源代码上看如果直接调用.Add方法,那么是调用了IList的Add方法所以没有通知UI刷新。用((INoisyCollection)path1Flowrate).Add(data.FlowRate);调用通知UI的Add方法。

你可能感兴趣的:(Binding ChartValue 界面不能及时更新)