// public AnimeListViewModel(ISettingsRepository settings, IAnimeService animeService) { _animeService = animeService; Settings = settings; // Find = new FindViewModel(); Find.PropertyChanged += (sender, args) => { if (args.PropertyName.Equals("Text")) { if (Find.Text.Equals("")) { Animes = new ObservableCollection <Anime>(_animeService.FilteredAndSorted()); } else { Animes = new ObservableCollection <Anime>( _animeService.FilteredAndSorted().Where( a => a.Name.ToLower().Contains(Find.Text.ToLower()))); } } }; FilterText = Settings.FilterBy; Animes = new ObservableCollection <Anime>(_animeService.FilteredAndSorted()); // SelectionChangedCommand = new RelayCommand <IList>(items => { if (items == null) { return; } SelectedAnimes = items.Cast <Anime>().ToList(); }); FindToggleCommand = new RelayCommand(() => Find.Toggle()); AddCommand = new RelayCommand(Add); AddMultipleCommand = new RelayCommand(AddMultiple); EditCommand = new RelayCommand(Edit); DeleteCommand = new RelayCommand(Delete); SearchCommand = new RelayCommand(Search); CopyCommand = new RelayCommand(() => { Clipboard.Clear(); Clipboard.SetText(string.Join(", ", SelectedAnimes.Select(c => c.Title))); }); }