private void SearchAndDeleteCommandExecute(object param) { IsLoading = true; IsLoadingInfoText = Properties.Resources.STR_Searching; Task.Run(() => { var total = PacketDefinitions.Count; var notFound = PacketDefinitions.WhereSync(_ => !PacketListFilter(_)).ToList(); IsLoadingInfoText = Properties.Resources.STR_Removing + " " + (total - notFound.Count); PacketDefinitions.ClearAndAddRange(notFound); SearchText = ""; }) .ContinueWith(_ => { IsLoading = false; PacketDefinitions.CurrentDispatcher.BeginInvoke(new Action(() => PacketDefinitionsView.Refresh())); }); }
private void SearchCommandExecute(object param) { PacketDefinitionsView.Refresh(); }