【发布时间】:2017-04-22 18:03:38
【问题描述】:
我是 WPF 新手,但我使用 C# 已经有一段时间了。也许像我这样的类似问题已经在某个地方得到了回答,但我真的不知道该使用什么搜索词。
所以在我的窗口上,我使用了 OxyPlot 库中的图表。它的 ItemsSource 绑定到 ViewModel 中的 ObservableCollection<DataPoint>。
如果我希望这个 DataPoint 列表在整个应用程序中可用,我该怎么办?
在这种情况下创建这样的类是否有意义:
public class Global
{
public ObservableCollection<DataPoint> DataPoints { get; set; } = new ObservableCollection<DataPoint>();
}
并在 ViewModel 中指向它:
using static MyProject.Global;
public class MainViewModel
{
public ObservableCollection<DataPoint> MyPoints { get => DataPoints; }
}
还是不把这个列表放到 ViewModel 中直接绑定 Global.DataPoints 更好?
这是创建项目范围的静态类的好方法,还是以不同的方式在应用程序上共享对象?
感谢您的回答。
【问题讨论】:
-
这是一个合理的问题,我不知道为什么人们会自己吃。