自定义对象列表的私有资源库

本文关键字:资源库 对象 列表 自定义 | 更新日期: 2023-09-27 18:36:21

我有这段代码,工作正常

public partial class MainWindow : Window
{
    private static ObservableCollection<Archive> _archiveList = new ObservableCollection<Archive>();
    public static ObservableCollection<Archive> archiveList { get { return _archiveList; } }
}
private void build_archiveList()
{
    // create new Archive
    // add the new Archive to archiveList
}

。但是如果我尝试使用自动实现的属性,它就不起作用,我不明白为什么。具有自动实现属性的代码:

public partial class MainWindow : Window
{
    public static ObservableCollection<Archive> archiveList { get; private set; }
    public MainWindow()
    {
            InitializeComponent();
            archiveList = new ObservableCollection<Archive>();
            build_archiveList();
    }
}

为什么第二种方法不起作用?

编辑:很抱歉不完整,列表与数据网格绑定,并且在使用第二种方法时数据网格保持为空(尽管添加了新存档,因为两种方法都增加了archiveList.count)

build_archiveList如何将存档添加到列表(可观察集合):

tmpArchive.content.Add(new ArchiveFile(bfile.FileName, bfile.Crc.ToString(), false));
archiveList.Add(tmpArchive);

自定义对象列表的私有资源库

移动

archiveList = new ObservableCollection<Archive>();

到静态构造函数。

解释

绑定

到自动属性(绑定发生在 InitializeComponent 中),这是空的,然后添加新列表。