public AccountRepository(string user) { _saveDirectory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Data", $"{user}.acc"); Directory.CreateDirectory(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Data")); string serializedData = Encryptor.DecryptFile(_saveDirectory); if (serializedData != null) { List <Account> accounts = DataSerializer.DeserializeFromXml <List <Account> >(serializedData); int i = 0; foreach (Account account in accounts) { account.Id = ++i; } AccountCollection = new ObservableCollection <Account>(accounts); //AccountCollection = new ObservableCollection<Account>(DataSerializer.DeserializeFromXml<List<Account>>(serializedData)); } else { AccountCollection = new ObservableCollection <Account>(); } AccountCollection.CollectionChanged += OnCollectionChanged; }