我想要一个全局集合,我可以在任何页面上访问/编辑它,即 SpenderList
。
我在 App.xaml.cs
中创建了一个 ObservableCollection
的实例:
namespace v003
{
public sealed partial class App : Application
{
public ObservableCollection<Spender> SpenderList = new ObservableCollection<Spender>();
public App()
{
this.InitializeComponent();
this.Suspending += this.OnSuspending;
}
...
}
}
当我在页面 (MainPage.xaml.cs
) 上键入 SpenderList
时,智能感知不会显示该集合。
如何从 MainPage.xaml.cs
和其他页面访问此集合?
注意:当我在 MainPage.xaml.cs
中声明该实例时,我的所有后续代码都有效,因此自定义类 Spender
没有问题。
另外,我想听听您对这种应用程序设计方式的看法。基本上所有任务都基于此集合中的项目,我希望从任何页面执行的对此集合及其项目的任何更改都是全局的。
最佳答案
你需要投:
((App)Application.Current).SpenderList
或者让它成为静态的:
public static ObservableCollection<Spender> SpenderList = new ObservableCollection<Spender>();
然后你像这样访问它:
App.SpenderList
通常你应该尽量避免全局可访问的静态变量。
关于c# - 创建全局集合并从所有页面访问它 (C# Windows),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25339510/