private void RegisterItemNotifications(Accessory item) { if (item != null) { item.CommandError += (object sender, MessageEventArgs e) => { if (!item.ProcessCommandError(e.Message)) NotifyCommandError(e.Message); }; item.PropertyChanged += (s, e) => { if (e.PropertyName == nameof(item.IsMyFavorite)) { if (item.IsMyFavorite) { if (!favoriteItemsIDs.Contains(item.ID)) { favoriteItemsIDs.Add(item.ID); NotifyPropertyChanged(nameof(FavoriteItemsIDs)); } } else { if (favoriteItemsIDs.Contains(item.ID)) { favoriteItemsIDs.Remove(item.ID); NotifyPropertyChanged(nameof(FavoriteItemsIDs)); } } } }; } }