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))));
        }