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