如何通知所有 windows static 属性 已更改?

How to notify all windows that static property has changed?

我有很多 windows,当 App.xaml.cs 的静态 属性 发生变化时,我需要更新所有 ListView。

App.xaml.cs:

    public partial class App : Application
    {
        private static ObservableCollection<tasks> _AllTasks;

        public static ObservableCollection<tasks> AllTasks
        {
            get => _AllTasks;
            set => _AllTasks = value;
        }

        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);

            AllTasks = new ObservableCollection<tasks>(Core.db.tasks.ToList());
        }
    }

添加新任务:

        private void OnAddTaskExecuted(object p)
        {
            tasks tsk = new tasks()
            {
                taskname = "1",
                description = "",
                date = DateTime.Now,
                empID = 2
            };
            Core.db.tasks.Add(tsk);
            Core.db.SaveChanges();
            App.AllTasks = new ObservableCollection<tasks>(Core.db.tasks.ToList());
        }

如您所见,我正在添加一个新任务并重新定义静态字段。但是我需要不同 windows 中的所有 ListView 来刷新。我假设我需要 AllTask​​s 集中的 PropertyChanged 事件,但我无法添加它,因为 AllTask​​s 是静态的。

问题是我不需要每次都创建一个新的 ObservableCollection 实例来刷新它。

我改了private void OnAddTaskExecuted(object p) 来自 App.AllTasks = new ...App.AllTasks.Add(tsk); 并且成功了。

非常感谢@Nawed Nabi Zada