MVVM与数据绑定

许多图表库使用MVVM和数据绑定模式与绘图交互。斯科特普洛特没有。这一有意的决定允许ScottPlot通过允许用户原始访问用于打印的数组值来提高性能,还允许用户完全控制渲染新帧的时间(这可能是一项成本高昂的操作)。虽然在设计交互式GUI应用程序时,MVVM模式和数据绑定通常是有用的,但考虑到几乎所有的ScottPlot功能都可以用来从无头控制台应用程序创建静态图像,这些模式不被广泛使用。

MVVM和数据绑定模式可用于创建包装ScottPlot图的图形控件。强烈希望使用数据绑定或MVVM模式的用户可能在特定于平台的GUI开发框架(如WPF)中工作,并且只希望创建一个控件来完成单个任务(如具有特定样式和布局的交互式散点图)。我们鼓励这些用户编写自己的用户控件,以实现这种自定义数据处理和渲染功能。ScottPlot控件的设计非常简单(只有大约100行),鼓励希望将数据管理与图形交互结合起来的用户使用自己选择的模式编写自己的控件。

用户控制源代码

ScottPlot控件主要只是将鼠标操作传递给ScottPlot(一个与GUI无关的.NET标准库),渲染位图并显示图像。创建一个自定义控件来公开数据(以特定于应用程序的格式)并在数据更改后使用事件来调用呈现,这应该是一项简单的任务。虽然这很容易实现,但也很容易实现,性能较差,因此鼓励开发人员仔细跟踪渲染的执行频率。