Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 全局存储ObservableCollection项_C#_Observablecollection - Fatal编程技术网

C# 全局存储ObservableCollection项

C# 全局存储ObservableCollection项,c#,observablecollection,C#,Observablecollection,我有一个允许用户填充列表的应用程序。我正在为我的列表使用ObservableCollection。这很好,但我需要从另一个方法引用这些项列表,然后在其他类中引用。我如何传递这些项目列表,以便全局访问?下面是我的代码和我实现这一点的尝试,任何帮助都将不胜感激 代码:此方法填充我的列表 public ObservableCollection<Products> products { get; set; } = new ObservableCollection<Products&g

我有一个允许用户填充列表的应用程序。我正在为我的列表使用ObservableCollection。这很好,但我需要从另一个方法引用这些项列表,然后在其他类中引用。我如何传递这些项目列表,以便全局访问?下面是我的代码和我实现这一点的尝试,任何帮助都将不胜感激

代码:此方法填充我的列表

 public ObservableCollection<Products> products { get; set; } = new ObservableCollection<Products>();

public void LoadItems()
        {
            products.Add(new Products { ProductActivity = UserActivity.Text, ProductHours = ActivityHrs.Text + "Hrs" });
            MyListView.ItemsSource = products;
        }
公共ObservableCollection产品{get;set;}=new ObservableCollection(); 公共无效加载项() { products.Add(新产品{ProductActivity=UserActivity.Text,ProductHours=ActivityHrs.Text+“Hrs”}); MyListView.ItemsSource=产品; } 我的静态类(我创建这个类是为了尝试将上述方法中的“products”对象传递给我的静态ObservableCollection,但这似乎不起作用)

公共静态类MyStatic
{
静态MyStatic()
{
ActivityList=新的ObservableCollection();
}
公共静态ObservableCollection活动列表{set;get;}
}
公共静态ObservableCollection产品{get;set;}=new ObservableCollection();

添加static关键字。不需要您提供的第二个代码段。

我认为您需要的实际上是Singleton模式,它允许您只创建和使用一个实例。谢谢!没想到会这么简单,在我的另一个类中也通过使用参数来访问它!:)
  public static class MyStatic
    {
        static MyStatic()
        {
            ActivityList = new ObservableCollection<Products>();
        }
        public static ObservableCollection<Products> ActivityList { set; get; }
    }
 public static ObservableCollection<Products> products { get; set; } = new ObservableCollection<Products>();