private void _selectedDirectoryMediaRemoved(object source, MediaEventArgs e) { var dir = source as IMediaDirectory; if (dir != null && dir.IsInitialized) { Application.Current.Dispatcher.BeginInvoke((Action) delegate() { if (_mediaItems != null) { MediaViewViewmodel vm = _mediaItems.FirstOrDefault(v => v.Media == e.Media); if (vm != null) { if (SelectedMedia == vm) { SelectedMedia = null; } _mediaItems.Remove(vm); vm.Dispose(); } _notifyDirectoryPropertiesChanged(); } } , null); } }
private bool _itemsFilter(object item) { MediaViewViewmodel mvm = item as MediaViewViewmodel; if (mvm == null || mvm.Media == null) { return(false); } string mediaName = mvm.MediaName.ToLower(); return(mvm.MediaStatus == TMediaStatus.Available && (!(MediaCategory is TMediaCategory) || (MediaCategory as TMediaCategory?) == mvm.MediaCategory) && (_searchTextSplit.All(s => mediaName.Contains(s)))); }