private async Task LoadCustomItems() { foreach (var wrappedItem in CustomItems) { wrappedItem.PropertyChanged -= WrappedCustomItem_PropertyChanged; } CustomItems.Clear(); var customItems = await _customItemRepository.GetCustomItemsByHardwareTypeAsync(SelectedHardwareType.Id); foreach (var item in customItems) { var wrappedModel = new CustomItemWrapper(item); wrappedModel.PropertyChanged += WrappedCustomItem_PropertyChanged; if (CustomItems.Contains(wrappedModel)) { continue; } CustomItems.Add(wrappedModel); } }