使用 MVVM 和 CompositeDataSource 显示海图仪

Posted

技术标签:

【中文标题】使用 MVVM 和 CompositeDataSource 显示海图仪【英文标题】:Display Chartplotter using MVVM with CompositeDataSource 【发布时间】:2017-06-07 22:13:56 【问题描述】:

我按照this 链接绑定数据以查看。但我无法使用 CompositeDataSource uisng MVVM 显示结果。

pixelX = new double[grayScaleData.Length];
grayLevelY = new double[grayScaleData.Length];

for (int i = 0; i < grayScaleData.Length; i++)

    pixelX[i] = i;
    grayLevelY[i] = grayScaleData[i];
    if (i >= (leftEdge + avgGrayoffset) && i <= (rightEdge - avgGrayoffset))
    
        totalGrayScale += grayScaleData[i];
        totalPixels++;
    


EnumerableDataSource<double> xSrc = new EnumerableDataSource<double>(pixelX);
xSrc.SetXMapping(x => x);
grayScaleDataSource = new EnumerableDataSource<double>(grayLevelY);
grayScaleDataSource.SetYMapping(y => y);
CompositeDataSource source= new CompositeDataSource(xSrc, grayScaleDataSource);

for (int i = 0; i < grayScaleData.Length; i++)

    //here I am not able to convert a CompositeDataSource to a point source
    // list.Add(new Point(??,??));

GrayScalePlotData = new ObservableDataSource<Point>(list);

仅使用 Point 我可以看到一些随机情节

list.Add(new Point(pixelX[i], grayLevelY[i]));

任何人都可以提出更好的方法吗?

【问题讨论】:

【参考方案1】:

CompositeDataSource 复制到绑定变量就可以了。

【讨论】:

以上是关于使用 MVVM 和 CompositeDataSource 显示海图仪的主要内容,如果未能解决你的问题,请参考以下文章

MVVM Light和MVVM有什么区别?

UICollectionView 和 MVVM

MVVM - 模式和实用性

Android MVVM 分析以及使用

Android MVVM 分析以及使用

使用 MVVM 和 CompositeDataSource 显示海图仪