我有这个代码可以正常工作
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如何将归档添加到列表中(observablecollection):
tmpArchive.content.Add(new ArchiveFile(bfile.FileName, bfile.Crc.ToString(), false));
archiveList.Add(tmpArchive);
答案 0 :(得分:1)
移动
archiveList = new ObservableCollection<Archive>();
到静态构造函数。
<强>解释强>
绑定到auto属性(绑定发生在InitializeComponent
)中为null,然后添加新列表。