自定义对象列表的私有资源库
本文关键字:资源库 对象 列表 自定义 | 更新日期: 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
中),这是空的,然后添加新列表。