Listview удалить определенное имя файла - PullRequest
0 голосов
/ 30 октября 2018

Я застрял в этой части моего проекта У меня есть список, заполненный файлами из определенной папки, он получает все файлы из папки, но мне нужно сделать фильтр только для "zw1 (случайные числа и буквы)". txt, что я делаю не так?

вот код

   public void DataFromFolders1(string fileName = "*")
    {

        string zw1 = "zw1";
        LV1.Items.Remove($"{zw1}*.txt");

        LV1.Items.Clear();


        //zet files van een folder in de listbox als de path correct is
        //de paths kan je boven aan vinden boven InitializeComponent();

        if (dinfo.Exists)
        {
            //FileInfo[] Files = dinfo.GetFiles("*.txt");
            FileInfo[] Files = dinfo.GetFiles($"{fileName}*.txt");

            foreach (FileInfo file in Files)

            {
                LV1.Items.Add(file.Name);
            }
        }
        else
        {
            MessageBox.Show("Pad van niet gedaan folder niet gevonden!");
        }
    }

У меня есть этот метод в таймере также параметр {fileName} из средства выбора даты игнорирует это.

Заранее спасибо (;

1 Ответ

0 голосов
/ 30 октября 2018
Regex regex = new Regex(@"^zw1\.txt$"); //This regex looks for the file name, 
   foreach (var item in LV1) //Check every item
      if (regex.Match(item).Success) //If item matches the regex
         LV1.Remove(item); // remove item

Implimentation.

public partial class MainWindow : Window, INotifyPropertyChanged
{
  private List<string> aListOfItems;

  public event PropertyChangedEventHandler PropertyChanged;

  public List<string> AListOfItems
  {
     get { return aListOfItems; }
     set { aListOfItems = value; OnPropertyChanged("AListOfItems"); }
  }
  public MainWindow()
  {
     InitializeComponent();
     DataContext = this;
     AListOfItems = new List<string> { "item1", "item2", "item3", "zw1.txt","hey"};
     ThisIsTheRemoveCode();
  }

  protected void OnPropertyChanged(string name)
  {
     PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
  }

  private void ThisIsTheRemoveCode()
  {
     Regex regex = new Regex(@"^zw1\.txt$");
     for (int i = 0; i < AListOfItems.Count; i++)
        if (regex.Match(AListOfItems[i]).Success)
           AListOfItems.Remove(AListOfItems[i]);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...