【发布时间】:2016-08-19 21:15:35
【问题描述】:
我已在支持论坛上阅读了有关让 SciChart 将图表渲染到内存的指南。但是,那里的示例使用FastLineRenderableSeries,而在我的项目中,我使用IRenderableSeriesViewModel 在XAML 中使用ObservableCollection<IRenderableSeriesViewModel> 进行系列绑定。
当我尝试遵循SciChart Knowledgebase 的指南时,它使用FastLineRenderableSeries 作为RenderableSeries,当我尝试将我预先存在的ObservableCollection<IRenderableSeriesViewModel> 分配给@ 下的RenderableSeries 属性时它不起作用987654329@。
我想知道当我尝试将现有的绘图导出到位图内存时,是否可以简单地使用现有的ObservableCollection<IRenderableSeriesViewModel>。我可以再次从IRenderableSeriesViewModel 中提取DataSeries,但如果有更快的方法来做到这一点,那就太好了。
谢谢。
编辑:我正在尝试以这种方式进行导出,如知识库中所示。
我的 ViewModel 目前有这个:
private ObservableCollection<IRenderableSeriesViewModel> seriesViewModels =
new ObservableCollection<IRenderableSeriesViewModel>();
public ObservableCollection<IRenderableSeriesViewModel> SeriesViewModels
{
get
{
return this.seriesViewModels;
}
}
正如知识库中所见,
var series = new FastLineRenderableSeries()
{
SeriesColor = Colors.Red,
DataSeries = GetDataSeries()
};
var surface = new SciChartSurface()
{
ChartTitle = "Rendered In Memory",
XAxes = xAxes,
YAxes = yAxes,
// Here, if I try to use "RenderableSeries = seriesViewModels" it doesn't work.
RenderableSeries = new ObservableCollection() { series }
};
surface.Width = 1000;
surface.Height = 1000;
// Export to bitmap
var bitmapSource = surface.ExportToBitmapSource();
Visual Studio 将显示此错误消息:
不能隐式转换类型不能隐式转换类型> System.Collections.ObjectModel.ObservableCollection
<SciChart.Charting.Model.ChartSeries.IRenderableSeriesViewModel>到 System.Collections.ObjectModel.ObservableCollection<SciChart.Charting.Visuals.RenderableSeries.IRenderableSeries>
你对IRenderableSeries和IRenderableSeriesViewModel之间的关系有什么建议吗?
【问题讨论】:
-
嗨,Kurtis,您使用的是 SciChartSurface.ExportToBitmapSource() 吗?这适用于绑定到 ObservableCollection
吗?愿意分享一个代码示例吗?请在此处编辑您的问题 + 评论以通知我 -
谢谢 ABT 博士。我已经用我正在尝试使用的代码更新了我的问题。
标签: scichart