私は正常に動作するこのコードを持っています
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();
}
}
2 番目のアプローチが機能しないのはなぜですか?
編集:不完全で申し訳ありません。リストにはデータグリッドとのバインディングがあり、2番目のアプローチを使用するとデータグリッドは空のままになります(ただし、両方のアプローチで archiveList.count が増加するため、新しいアーカイブが追加されます)
build_archiveList がアーカイブをリストに追加する方法 (observablecollection):
tmpArchive.content.Add(new ArchiveFile(bfile.FileName, bfile.Crc.ToString(), false));
archiveList.Add(tmpArchive);